diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml
index 2170d53fd..241902173 100644
--- a/.github/ISSUE_TEMPLATE/bug.yml
+++ b/.github/ISSUE_TEMPLATE/bug.yml
@@ -17,7 +17,7 @@ body:
attributes:
label: API Wrapper Version
description: What version of our wrapper are you running?
- placeholder: github.com/linode/linodego v1.0.0
+ placeholder: github.com/linode/linodego/v2 v2.0.0
validations:
required: true
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 27b269810..8f55f176d 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -3,6 +3,14 @@ name: Continuous Integration
on:
workflow_dispatch:
inputs:
+ run_aclp_logs_stream_tests:
+ description: 'Set this parameter to "true" to run ACLP logs stream related test cases'
+ required: false
+ default: 'false'
+ type: choice
+ options:
+ - 'true'
+ - 'false'
test_report_upload:
description: 'Indicates whether to upload the test report to object storage. Defaults to "false"'
type: choice
@@ -67,7 +75,7 @@ jobs:
gofumpt -l -w .
- name: Fail if changes
- run: git diff-index --exit-code HEAD
+ run: git diff --exit-code HEAD
test:
runs-on: ubuntu-latest
@@ -105,6 +113,7 @@ jobs:
make test | go-junit-report -set-exit-code -iocopy -out $REPORT_FILENAME
env:
SKIP_LINT: 1
+ RUN_ACLP_LOGS_STREAM_TESTS: ${{ github.event.inputs.run_aclp_logs_stream_tests }}
- name: Upload test results to bucket
if: always() && github.repository == 'linode/linodego' && github.ref == 'refs/heads/main' && (github.event_name == 'push' || github.event_name == 'pull_request' || (github.event_name == 'workflow_dispatch' && inputs.test_report_upload == 'true'))
diff --git a/.github/workflows/integration_tests_pr.yml b/.github/workflows/integration_tests_pr.yml
index f08c67e99..a7f37c083 100644
--- a/.github/workflows/integration_tests_pr.yml
+++ b/.github/workflows/integration_tests_pr.yml
@@ -2,6 +2,14 @@ on:
pull_request:
workflow_dispatch:
inputs:
+ run_aclp_logs_stream_tests:
+ description: 'Set this parameter to "true" to run ACLP logs stream related test cases'
+ required: false
+ default: 'false'
+ type: choice
+ options:
+ - 'true'
+ - 'false'
sha:
description: 'The hash value of the commit.'
required: true
@@ -40,11 +48,13 @@ jobs:
if: ${{ inputs.module != '' && steps.disallowed-char-check.outputs.match == '' }}
env:
LINODE_TOKEN: ${{ secrets.DX_LINODE_TOKEN }}
+ RUN_ACLP_LOGS_STREAM_TESTS: ${{ github.event.inputs.run_aclp_logs_stream_tests }}
- run: make fixtures
if: ${{ inputs.module == '' }}
env:
LINODE_TOKEN: ${{ secrets.DX_LINODE_TOKEN }}
+ RUN_ACLP_LOGS_STREAM_TESTS: ${{ github.event.inputs.run_aclp_logs_stream_tests }}
- name: Get the hash value of the latest commit from the PR branch
uses: octokit/graphql-action@v2.x
diff --git a/.github/workflows/release-cross-repo-test.yml b/.github/workflows/release-cross-repo-test.yml
index 86787cd70..519a3c9db 100644
--- a/.github/workflows/release-cross-repo-test.yml
+++ b/.github/workflows/release-cross-repo-test.yml
@@ -31,7 +31,7 @@ jobs:
cd linodego
linodego_dir=$(pwd)
cd ..
- go mod edit -replace github.com/linode/linodego=$linodego_dir
+ go mod edit -replace github.com/linode/linodego/v2=$linodego_dir
go mod tidy
- name: run tests
diff --git a/.github/workflows/security_pr.yml b/.github/workflows/security_pr.yml
index c11425f08..61aaa6d93 100644
--- a/.github/workflows/security_pr.yml
+++ b/.github/workflows/security_pr.yml
@@ -12,7 +12,7 @@ jobs:
- name: 'Checkout repository'
uses: actions/checkout@v6
- name: 'Dependency Review'
- uses: actions/dependency-review-action@v4
+ uses: actions/dependency-review-action@v5
with:
comment-summary-in-pr: on-failure
diff --git a/AGENTS.md b/AGENTS.md
new file mode 100644
index 000000000..6796f0c36
--- /dev/null
+++ b/AGENTS.md
@@ -0,0 +1,41 @@
+# AGENTS.md
+
+## Repo Shape
+- This is a Go workspace (`go.work`) with three modules: root `github.com/linode/linodego/v2`, `./k8s`, and `./test`.
+- Root package files implement the public API client; `k8s/` is a separate helper module for LKE Kubernetes client behavior; `test/` is a separate module for unit and integration tests and replaces both local modules.
+- API resource files follow a flat root pattern (`instances.go`, `volumes.go`, etc.) and usually pair public types with `Client` methods that call helpers in `request_helpers.go`.
+
+## Commands
+- Full CI-like local check: `make test` runs build, lint, unit tests, and fixture-backed integration tests; it can be slow because `test-int` uses a 5h timeout.
+- Faster focused default: run `go test ./...` at the repo root for root-module unit coverage only, then run focused tests in `test/` or `k8s/` as needed.
+- Unit tests excluding integration playback: `make test-unit`; pass focused args as `make TEST_ARGS="-run TestName" test-unit`.
+- Integration fixture playback: `make test-int`; focused playback: `make TEST_ARGS="-run TestListVolumes" test-int`.
+- K8s module verification: `cd k8s && go test ./...` or use root `make build`/`make vet`, which enter `k8s/` explicitly.
+- Tidy all modules after dependency changes: `make tidy`.
+
+## Lint And Formatting
+- `make lint` uses Docker by default: `docker run ... golangci/golangci-lint:latest`; set `SKIP_DOCKER=1` to use local `golangci-lint`.
+- `golangci-lint fmt` is the preferred formatter, if available. Fallback to `gofumpt` if `golangci-lint` is unavailable. Fallback to `go fmt` if `gofumpt` is unavailable.
+- `make build` already depends on `vet` and `lint`; use `SKIP_LINT=1 make test` only when intentionally matching CI's test job behavior.
+- CI runs `make tidy`, then installs `gofumpt` at commit `86bffd62437a3c437c0b84d5d5ab244824e762fc` and runs `gofumpt -l -w .`, then fails on any diff.
+
+## Tests And Fixtures
+- `test/unit` uses embedded JSON fixtures from `test/unit/fixtures/*.json` and `ClientBaseCase` helpers in `test/unit/base.go`; add/update JSON fixtures there for unit tests.
+- `test/integration` uses go-vcr YAML fixtures under `test/integration/fixtures`; `make test-int` runs them in replay mode with a fake token and `LINODE_API_VERSION=v4beta`.
+- To record integration fixtures, set a real `LINODE_TOKEN` and run `make fixtures`; focus recording with `make TEST_ARGS="-run TestName" fixtures`.
+- Fixture recording creates real Linode resources and `TestMain` creates a Cloud Firewall by default; set `ENABLE_CLOUD_FW=false` only if you intentionally want to skip that setup.
+- Fixture sanitization is partial: auth headers, dates, some keys, and IPv6 are scrubbed, but `README.md` warns that sensitive account details such as `fixtures/*Account*.yaml` are not fully sanitized. Inspect recorded fixture diffs before committing.
+- Smoke tests are live record-mode tests: `make test-smoke` requires `LINODE_TOKEN`.
+
+## Environment
+- `.env` is loaded by the root Makefile if present; `.gitignore` excludes it.
+- Common env vars: `LINODE_TOKEN`, `LINODE_DEBUG`, `LINODE_URL`, `LINODE_API_VERSION`, `LINODE_CA`, `LINODE_CONFIG`, and `LINODE_PROFILE`.
+- `NewClient` reads `LINODE_URL`, `LINODE_API_VERSION`, `LINODE_CA`, and `LINODE_DEBUG`; `NewClientFromEnv` prefers `LINODE_TOKEN` over config-file profiles.
+
+## Conventions And Gotchas
+- Optional fields in create or update options structs must use `json:",omitzero"`.
+- Optional fields in create or update options structs must be pointer types so explicit zero values can be serialized when needed.
+- List APIs mutate the supplied `*ListOptions` with `Page`, `Pages`, and `Results`; do not reuse one `ListOptions` across list calls.
+- Use `formatAPIPath` for endpoint paths with user-provided string path segments so path escaping matches the client helpers.
+- CI enforces PR titles like `TPT-1234: Description` unless labels exempt the PR (`dependencies`, `hotfix`, `community-contribution`, `ignore-for-release`).
+- The `e2e_scripts` directory is a git submodule used by CI report/upload and cleanup jobs; clone/update submodules before reproducing those workflows.
diff --git a/README.md b/README.md
index 0875968bf..4cb7ac005 100644
--- a/README.md
+++ b/README.md
@@ -2,20 +2,20 @@

[](https://github.com/linode/linodego/releases/latest)
-[](https://godoc.org/github.com/linode/linodego)
-[](https://goreportcard.com/report/github.com/linode/linodego)
+[](https://godoc.org/github.com/linode/linodego/v2)
+[](https://goreportcard.com/report/github.com/linode/linodego/v2)
Go client for [Linode REST v4 API](https://techdocs.akamai.com/linode-api/reference/api)
## Installation
```sh
-go get -u github.com/linode/linodego
+go get -u github.com/linode/linodego/v2
```
## Documentation
-See [godoc](https://godoc.org/github.com/linode/linodego) for a complete reference.
+See [godoc](https://godoc.org/github.com/linode/linodego/v2) for a complete reference.
The API generally follows the naming patterns prescribed in the [OpenAPIv3 document for Linode APIv4](https://techdocs.akamai.com/linode-api/reference/api).
@@ -37,7 +37,7 @@ import (
"net/http"
"os"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"golang.org/x/oauth2"
)
@@ -54,7 +54,10 @@ func main() {
},
}
- linodeClient := linodego.NewClient(oauth2Client)
+ linodeClient, err := linodego.NewClient(oauth2Client)
+ if err != nil {
+ log.Fatal(err)
+ }
linodeClient.SetDebug(true)
res, err := linodeClient.GetInstance(context.Background(), 4090913)
@@ -149,7 +152,7 @@ linodes, err := linodego.ListInstances(context.Background(), linodego.NewListOpt
### Response Caching
By default, certain endpoints with static responses will be cached into memory.
-Endpoints with cached responses are identified in their [accompanying documentation](https://pkg.go.dev/github.com/linode/linodego?utm_source=godoc).
+Endpoints with cached responses are identified in their [accompanying documentation](https://pkg.go.dev/github.com/linode/linodego/v2?utm_source=godoc).
The default cache entry expiry time is `15` minutes. Certain endpoints may override this value to allow for more frequent refreshes (e.g. `client.GetRegion(...)`).
The global cache expiry time can be customized using the `client.SetGlobalCacheExpiration(...)` method.
diff --git a/account.go b/account.go
index 9201fd62c..80f9adca7 100644
--- a/account.go
+++ b/account.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// Account associated with the token in use.
@@ -34,18 +34,18 @@ type Account struct {
// AccountUpdateOptions fields are those accepted by UpdateAccount
type AccountUpdateOptions struct {
- Address1 string `json:"address_1,omitempty"`
- Address2 string `json:"address_2,omitempty"`
- City string `json:"city,omitempty"`
- Company string `json:"company,omitempty"`
- Country string `json:"country,omitempty"`
- Email string `json:"email,omitempty"`
- FirstName string `json:"first_name,omitempty"`
- LastName string `json:"last_name,omitempty"`
- Phone string `json:"phone,omitempty"`
- State string `json:"state,omitempty"`
- TaxID string `json:"tax_id,omitempty"`
- Zip string `json:"zip,omitempty"`
+ Address1 string `json:"address_1,omitzero"`
+ Address2 string `json:"address_2,omitzero"`
+ City string `json:"city,omitzero"`
+ Company string `json:"company,omitzero"`
+ Country string `json:"country,omitzero"`
+ Email string `json:"email,omitzero"`
+ FirstName string `json:"first_name,omitzero"`
+ LastName string `json:"last_name,omitzero"`
+ Phone string `json:"phone,omitzero"`
+ State string `json:"state,omitzero"`
+ TaxID string `json:"tax_id,omitzero"`
+ Zip string `json:"zip,omitzero"`
}
// GetUpdateOptions converts an Account to AccountUpdateOptions for use in UpdateAccount
diff --git a/account_agreements.go b/account_agreements.go
index 795244a4a..1c4272651 100644
--- a/account_agreements.go
+++ b/account_agreements.go
@@ -11,9 +11,9 @@ type AccountAgreements struct {
// AccountAgreementsUpdateOptions fields are those accepted by UpdateAccountAgreements
type AccountAgreementsUpdateOptions struct {
- EUModel bool `json:"eu_model,omitempty"`
- MasterServiceAgreement bool `json:"master_service_agreement,omitempty"`
- PrivacyPolicy bool `json:"privacy_policy,omitempty"`
+ EUModel bool `json:"eu_model,omitzero"`
+ MasterServiceAgreement bool `json:"master_service_agreement,omitzero"`
+ PrivacyPolicy bool `json:"privacy_policy,omitzero"`
}
// GetUpdateOptions converts an AccountAgreements to AccountAgreementsUpdateOptions for use in UpdateAccountAgreements
diff --git a/account_betas.go b/account_betas.go
index 2e23c9284..c6ea5231a 100644
--- a/account_betas.go
+++ b/account_betas.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// AccountBetaProgram represents an enrolled Account Beta Program object,
diff --git a/account_events.go b/account_events.go
index 190ea221e..75aa36d83 100644
--- a/account_events.go
+++ b/account_events.go
@@ -5,8 +5,8 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/duration"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/duration"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// Event represents an action taken on the Account.
@@ -231,14 +231,6 @@ const (
ActionVPCSubnetCreate EventAction = "subnet_create"
ActionVPCSubnetDelete EventAction = "subnet_delete"
ActionVPCSubnetUpdate EventAction = "subnet_update"
-
- // Deprecated: incorrect spelling,
- // to be removed in the next major version release.
- ActionVolumeDelte EventAction = "volume_delete"
-
- // Deprecated: incorrect spelling,
- // to be removed in the next major version
- ActionCreateCardUpdated = ActionCreditCardUpdated
)
// EntityType constants start with Entity and include Linode API Event Entity Types
@@ -343,16 +335,6 @@ func (c *Client) GetEvent(ctx context.Context, eventID int) (*Event, error) {
return doGETRequest[Event](ctx, c, e)
}
-// MarkEventRead marks a single Event as read.
-//
-// Deprecated: `MarkEventRead` is a deprecated API, please consider using `MarkEventsSeen` instead.
-// Please note that the `MarkEventsSeen` API functions differently and will mark all events up to and
-// including the referenced event-id as "seen" rather than individual events.
-func (c *Client) MarkEventRead(ctx context.Context, event *Event) error {
- e := formatAPIPath("account/events/%d/read", event.ID)
- return doPOSTRequestNoRequestResponseBody(ctx, c, e)
-}
-
// MarkEventsSeen marks all Events up to and including this Event by ID as seen.
func (c *Client) MarkEventsSeen(ctx context.Context, event *Event) error {
e := formatAPIPath("account/events/%d/seen", event.ID)
diff --git a/account_invoices.go b/account_invoices.go
index 8412e1a2c..4e50fe2c3 100644
--- a/account_invoices.go
+++ b/account_invoices.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// Invoice structs reflect an invoice for billable activity on the account.
diff --git a/account_logins.go b/account_logins.go
index 7bf4fedf7..5b705b08f 100644
--- a/account_logins.go
+++ b/account_logins.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
type Login struct {
diff --git a/account_maintenance.go b/account_maintenance.go
index ec7e2e479..2be6de6dc 100644
--- a/account_maintenance.go
+++ b/account_maintenance.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// AccountMaintenance represents a Maintenance object for any entity a user has permissions to view
@@ -22,9 +22,6 @@ type AccountMaintenance struct {
NotBefore *time.Time `json:"-"`
StartTime *time.Time `json:"-"`
CompleteTime *time.Time `json:"-"`
-
- // Deprecated: When is a deprecated property
- When *time.Time `json:"when"`
}
// Entity represents the entity being affected by maintenance
@@ -57,7 +54,6 @@ func (accountMaintenance *AccountMaintenance) UnmarshalJSON(b []byte) error {
accountMaintenance.NotBefore = (*time.Time)(p.NotBefore)
accountMaintenance.StartTime = (*time.Time)(p.StartTime)
accountMaintenance.CompleteTime = (*time.Time)(p.CompleteTime)
- accountMaintenance.When = (*time.Time)(p.When)
return nil
}
diff --git a/account_notifications.go b/account_notifications.go
index bc1bbdea8..4eb2ba920 100644
--- a/account_notifications.go
+++ b/account_notifications.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// Notification represents a notification on an Account
diff --git a/account_oauth_client.go b/account_oauth_client.go
index 7b0e7795a..c330bc9b2 100644
--- a/account_oauth_client.go
+++ b/account_oauth_client.go
@@ -111,5 +111,5 @@ func (c *Client) DeleteOAuthClient(ctx context.Context, clientID string) error {
// ResetOAuthClientSecret resets the OAuth Client secret for a client with a specified id
func (c *Client) ResetOAuthClientSecret(ctx context.Context, clientID string) (*OAuthClient, error) {
e := formatAPIPath("account/oauth-clients/%s/reset-secret", clientID)
- return doPOSTRequest[OAuthClient, any](ctx, c, e)
+ return doPOSTRequestNoRequestBody[OAuthClient](ctx, c, e)
}
diff --git a/account_payment_methods.go b/account_payment_methods.go
index d9d9e117d..a96e810b2 100644
--- a/account_payment_methods.go
+++ b/account_payment_methods.go
@@ -6,7 +6,7 @@ import (
"fmt"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// PaymentMethod represents a PaymentMethod object
diff --git a/account_payments.go b/account_payments.go
index af2488e9e..19c539ff1 100644
--- a/account_payments.go
+++ b/account_payments.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// Payment represents a Payment object
@@ -23,7 +23,7 @@ type Payment struct {
// PaymentCreateOptions fields are those accepted by CreatePayment
type PaymentCreateOptions struct {
// CVV (Card Verification Value) of the credit card to be used for the Payment
- CVV string `json:"cvv,omitempty"`
+ CVV string `json:"cvv,omitzero"`
// The amount, in US dollars, of the Payment
USD json.Number `json:"usd"`
diff --git a/account_promo_credits.go b/account_promo_credits.go
index 3c2edf4de..01a35c058 100644
--- a/account_promo_credits.go
+++ b/account_promo_credits.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// Promotion represents a Promotion object
diff --git a/account_service_transfer.go b/account_service_transfer.go
index 2b3fe8fa4..9055814ab 100644
--- a/account_service_transfer.go
+++ b/account_service_transfer.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// AccountServiceTransferStatus constants start with AccountServiceTransfer and
diff --git a/account_settings.go b/account_settings.go
index 5b487d199..068e0847f 100644
--- a/account_settings.go
+++ b/account_settings.go
@@ -40,17 +40,17 @@ type AccountSettings struct {
// AccountSettingsUpdateOptions are the updateable account wide flags or plans that effect new resources.
type AccountSettingsUpdateOptions struct {
// The default backups enrollment status for all new Linodes for all users on the account. When enabled, backups are mandatory per instance.
- BackupsEnabled *bool `json:"backups_enabled,omitempty"`
+ BackupsEnabled *bool `json:"backups_enabled,omitzero"`
// The default network helper setting for all new Linodes and Linode Configs for all users on the account.
- NetworkHelper *bool `json:"network_helper,omitempty"`
+ NetworkHelper *bool `json:"network_helper,omitzero"`
// NOTE: Interfaces for new linode setting may not currently be available to all users.
// A new configuration flag defines whether new Linodes can use Linode and/or legacy config interfaces.
InterfacesForNewLinodes *InterfacesForNewLinodes `json:"interfaces_for_new_linodes"`
// The slug of the maintenance policy to set the account to.
- MaintenancePolicy *string `json:"maintenance_policy,omitempty"`
+ MaintenancePolicy *string `json:"maintenance_policy,omitzero"`
}
// GetAccountSettings gets the account wide flags or plans that effect new resources
diff --git a/account_user_grants.go b/account_user_grants.go
index 5314c79b9..ea00a4110 100644
--- a/account_user_grants.go
+++ b/account_user_grants.go
@@ -56,17 +56,17 @@ type UserGrants struct {
}
type UserGrantsUpdateOptions struct {
- Database []GrantedEntity `json:"database,omitempty"`
- Domain []EntityUserGrant `json:"domain,omitempty"`
- Firewall []EntityUserGrant `json:"firewall,omitempty"`
- Image []EntityUserGrant `json:"image,omitempty"`
- Linode []EntityUserGrant `json:"linode,omitempty"`
- Longview []EntityUserGrant `json:"longview,omitempty"`
- NodeBalancer []EntityUserGrant `json:"nodebalancer,omitempty"`
- PlacementGroup []EntityUserGrant `json:"placement_group,omitempty"`
- StackScript []EntityUserGrant `json:"stackscript,omitempty"`
- Volume []EntityUserGrant `json:"volume,omitempty"`
- VPC []EntityUserGrant `json:"vpc,omitempty"`
+ Database []GrantedEntity `json:"database,omitzero"`
+ Domain []EntityUserGrant `json:"domain,omitzero"`
+ Firewall []EntityUserGrant `json:"firewall,omitzero"`
+ Image []EntityUserGrant `json:"image,omitzero"`
+ Linode []EntityUserGrant `json:"linode,omitzero"`
+ Longview []EntityUserGrant `json:"longview,omitzero"`
+ NodeBalancer []EntityUserGrant `json:"nodebalancer,omitzero"`
+ PlacementGroup []EntityUserGrant `json:"placement_group,omitzero"`
+ StackScript []EntityUserGrant `json:"stackscript,omitzero"`
+ Volume []EntityUserGrant `json:"volume,omitzero"`
+ VPC []EntityUserGrant `json:"vpc,omitzero"`
Global GlobalUserGrants `json:"global"`
}
diff --git a/account_users.go b/account_users.go
index 13e71c520..c311c5623 100644
--- a/account_users.go
+++ b/account_users.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
type UserType string
@@ -45,9 +45,9 @@ type UserCreateOptions struct {
// UserUpdateOptions fields are those accepted by UpdateUser
type UserUpdateOptions struct {
- Username string `json:"username,omitempty"`
- Restricted *bool `json:"restricted,omitempty"`
- Email string `json:"email,omitempty"`
+ Username string `json:"username,omitzero"`
+ Restricted *bool `json:"restricted,omitzero"`
+ Email string `json:"email,omitzero"`
}
// UnmarshalJSON implements the json.Unmarshaler interface
diff --git a/betas.go b/betas.go
index 476ef351f..accbc5fbf 100644
--- a/betas.go
+++ b/betas.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// BetaProgram is a new product or service that is not generally available to all Akamai customers.
diff --git a/client.go b/client.go
index 3d245c855..fcf6a0748 100644
--- a/client.go
+++ b/client.go
@@ -3,6 +3,9 @@ package linodego
import (
"bytes"
"context"
+ "crypto/tls"
+ "crypto/x509"
+ _ "embed"
"encoding/json"
"fmt"
"io"
@@ -14,13 +17,13 @@ import (
"path/filepath"
"reflect"
"regexp"
+ "runtime"
+ "sort"
"strconv"
"strings"
"sync"
"text/template"
"time"
-
- "github.com/go-resty/resty/v2"
)
const (
@@ -50,20 +53,35 @@ const (
APIDefaultCacheExpiration = time.Minute * 15
)
-//nolint:unused
+// Embed the log template files
+//
+//go:embed request_log_template.tmpl
+var requestTemplateStr string
+
+//go:embed response_log_template.tmpl
+var responseTemplateStr string
+
var (
- reqLogTemplate = template.Must(template.New("request").Parse(`Sending request:
-Method: {{.Method}}
-URL: {{.URL}}
-Headers: {{.Headers}}
-Body: {{.Body}}`))
-
- respLogTemplate = template.Must(template.New("response").Parse(`Received response:
-Status: {{.Status}}
-Headers: {{.Headers}}
-Body: {{.Body}}`))
+ reqLogTemplate = template.Must(template.New("request").Parse(requestTemplateStr))
+ respLogTemplate = template.Must(template.New("response").Parse(responseTemplateStr))
)
+type RequestLog struct {
+ Request string
+ Host string
+ Headers http.Header
+ Body string
+}
+
+type ResponseLog struct {
+ Status string
+ Proto string
+ ReceivedAt string
+ TimeDuration string
+ Headers http.Header
+ Body string
+}
+
var envDebug = false
// redactHeadersMap is a map of headers that should be redacted in logs,
@@ -72,18 +90,19 @@ var redactHeadersMap = map[string]string{
"Authorization": "Bearer *******************************",
}
-// Client is a wrapper around the Resty client
+// Client is a wrapper around the http client
type Client struct {
- resty *resty.Client
- userAgent string
- debug bool
- retryConditionals []RetryConditional
+ httpClient *http.Client
+ userAgent string
+ debug bool
pollInterval time.Duration
baseURL string
apiVersion string
apiProto string
+ hostURL string
+ header http.Header
selectedProfile string
loadedProfile string
@@ -94,6 +113,16 @@ type Client struct {
cacheExpiration time.Duration
cachedEntries map[string]clientCacheEntry
cachedEntryLock *sync.RWMutex
+ logger Logger
+ requestLog func(*RequestLog) error
+ onBeforeRequest []func(*http.Request) error
+ onAfterResponse []func(*http.Response) error
+
+ retryConditionals []RetryConditional
+ retryMaxWaitTime time.Duration
+ retryMinWaitTime time.Duration
+ retryAfter RetryAfter
+ retryCount int
}
type EnvDefaults struct {
@@ -110,13 +139,11 @@ type clientCacheEntry struct {
}
type (
- Request = resty.Request
- Response = resty.Response
- Logger = resty.Logger
+ Request = http.Request
+ Response = http.Response
)
func init() {
- // Whether we will enable Resty debugging output
if apiDebug, ok := os.LookupEnv("LINODE_DEBUG"); ok {
if parsed, err := strconv.ParseBool(apiDebug); err == nil {
envDebug = parsed
@@ -127,23 +154,38 @@ func init() {
}
}
-// NewClient factory to create new Client struct
-func NewClient(hc *http.Client) (client Client) {
+// NewClient factory to create new Client struct.
+// nolint:funlen
+func NewClient(hc *http.Client) (client Client, err error) {
if hc != nil {
- client.resty = resty.NewWithClient(hc)
+ client.httpClient = hc
} else {
- client.resty = resty.New()
+ client.httpClient = &http.Client{}
+ }
+
+ // Ensure that the Header map is not nil
+ if client.httpClient.Transport == nil {
+ client.httpClient.Transport = &http.Transport{}
}
client.shouldCache = true
client.cacheExpiration = APIDefaultCacheExpiration
client.cachedEntries = make(map[string]clientCacheEntry)
client.cachedEntryLock = &sync.RWMutex{}
+ client.configProfiles = make(map[string]ConfigProfile)
+
+ const (
+ retryMinWaitDuration = 100 * time.Millisecond
+ retryMaxWaitDuration = 2 * time.Second
+ )
+
+ client.retryMinWaitTime = retryMinWaitDuration
+ client.retryMaxWaitTime = retryMaxWaitDuration
client.SetUserAgent(DefaultUserAgent)
+ client.SetLogger(createLogger())
baseURL, baseURLExists := os.LookupEnv(APIHostVar)
-
if baseURLExists {
client.SetBaseURL(baseURL)
}
@@ -157,16 +199,17 @@ func NewClient(hc *http.Client) (client Client) {
certPath, certPathExists := os.LookupEnv(APIHostCert)
- if certPathExists && !hasCustomTransport(hc) {
- cert, err := os.ReadFile(filepath.Clean(certPath))
- if err != nil {
- log.Fatalf("[ERROR] Error when reading cert at %s: %s\n", certPath, err.Error())
- }
-
- client.SetRootCertificate(certPath)
+ if certPathExists { //nolint:nestif
+ if _, ok := client.httpClient.Transport.(*http.Transport); ok {
+ if err := client.SetRootCertificate(certPath); err != nil {
+ return Client{}, err
+ }
- if envDebug {
- log.Printf("[DEBUG] Set API root certificate to %s with contents %s\n", certPath, cert)
+ if envDebug {
+ log.Printf("[DEBUG] Set API root certificate to %s\n", certPath)
+ }
+ } else {
+ log.Println("[WARN] Custom root certificate is not supported with a custom transport")
}
}
@@ -177,13 +220,16 @@ func NewClient(hc *http.Client) (client Client) {
SetDebug(envDebug).
enableLogSanitization()
- return client
+ return client, nil
}
// NewClientFromEnv creates a Client and initializes it with values
// from the LINODE_CONFIG file and the LINODE_TOKEN environment variable.
func NewClientFromEnv(hc *http.Client) (*Client, error) {
- client := NewClient(hc)
+ client, err := NewClient(hc)
+ if err != nil {
+ return nil, err
+ }
// Users are expected to chain NewClient(...) and LoadConfig(...) to customize these options
configPath, err := resolveValidConfigPath()
@@ -213,8 +259,8 @@ func NewClientFromEnv(hc *http.Client) (*Client, error) {
client.selectedProfile = configProfile
// We should only load the config if the config file exists
- if _, err = os.Stat(configPath); err != nil {
- return nil, fmt.Errorf("error loading config file %s: %w", configPath, err)
+ if _, statErr := os.Stat(configPath); statErr != nil {
+ return nil, fmt.Errorf("error loading config file %s: %w", configPath, statErr)
}
err = client.preLoadConfig(configPath)
@@ -225,42 +271,276 @@ func NewClientFromEnv(hc *http.Client) (*Client, error) {
// SetUserAgent sets a custom user-agent for HTTP requests
func (c *Client) SetUserAgent(ua string) *Client {
c.userAgent = ua
- c.resty.SetHeader("User-Agent", c.userAgent)
+ c.SetHeader("User-Agent", c.userAgent)
return c
}
-type RequestParams struct {
- Body any
+type requestParams struct {
+ Body *bytes.Reader
Response any
+ // Headers are per-request headers that will be applied only to
+ // the individual request, not stored on the shared client state.
+ Headers http.Header
+}
+
+func (c *Client) ErrorAndLogf(format string, args ...any) error {
+ if c.debug && c.logger != nil {
+ c.logger.Errorf(format, args...)
+ }
+
+ return fmt.Errorf(format, args...)
+}
+
+// SetRootCertificate adds a root certificate to the underlying TLS client config.
+func (c *Client) SetRootCertificate(certPath string) error {
+ config, err := c.tlsConfig()
+ if err != nil {
+ return fmt.Errorf("custom transport is not allowed with a custom root CA: %w", err)
+ }
+
+ if config.RootCAs == nil {
+ config.RootCAs = x509.NewCertPool()
+ }
+
+ pem, err := os.ReadFile(filepath.Clean(certPath))
+ if err != nil {
+ return fmt.Errorf("failed to read root certificate at %s: %w", certPath, err)
+ }
+
+ config.RootCAs.AppendCertsFromPEM(pem)
+
+ return nil
+}
+
+// SetToken sets the API token for all requests from this client
+// Only necessary if you haven't already provided the http client to NewClient() configured with the token.
+func (c *Client) SetToken(token string) *Client {
+ c.SetHeader("Authorization", fmt.Sprintf("Bearer %s", token))
+ return c
+}
+
+// SetRetries adds retry conditions for "Linode Busy." errors and 429s.
+func (c *Client) SetRetries() *Client {
+ c.
+ AddRetryCondition(LinodeBusyRetryCondition).
+ AddRetryCondition(TooManyRequestsRetryCondition).
+ AddRetryCondition(ServiceUnavailableRetryCondition).
+ AddRetryCondition(RequestTimeoutRetryCondition).
+ AddRetryCondition(RequestGOAWAYRetryCondition).
+ AddRetryCondition(RequestNGINXRetryCondition).
+ SetRetryMaxWaitTime(APIRetryMaxWaitTime)
+ ConfigureRetries(c)
+
+ return c
+}
+
+// AddRetryCondition adds a RetryConditional function to the Client
+func (c *Client) AddRetryCondition(retryCondition RetryConditional) *Client {
+ c.retryConditionals = append(c.retryConditionals, retryCondition)
+
+ return c
+}
+
+func (c *Client) SetDebug(debug bool) *Client {
+ c.debug = debug
+
+ return c
+}
+
+func (c *Client) SetLogger(logger Logger) *Client {
+ c.logger = logger
+
+ return c
+}
+
+func (c *Client) OnBeforeRequest(m func(*http.Request) error) {
+ c.onBeforeRequest = append(c.onBeforeRequest, m)
+}
+
+func (c *Client) OnAfterResponse(m func(*http.Response) error) {
+ c.onAfterResponse = append(c.onAfterResponse, m)
+}
+
+// UseURL parses the individual components of the given API URL and configures the client
+// accordingly. For example, a valid URL.
+// For example:
+//
+// client.UseURL("https://api.test.linode.com/v4beta")
+func (c *Client) UseURL(apiURL string) (*Client, error) {
+ parsedURL, err := url.Parse(apiURL)
+ if err != nil {
+ return nil, fmt.Errorf("failed to parse URL: %w", err)
+ }
+
+ if parsedURL.Scheme == "" || parsedURL.Host == "" {
+ return nil, fmt.Errorf("need both scheme and host in API URL, got %q", apiURL)
+ }
+
+ // Create a new URL excluding the path to use as the base URL
+ baseURL := &url.URL{
+ Host: parsedURL.Host,
+ Scheme: parsedURL.Scheme,
+ }
+
+ c.SetBaseURL(baseURL.String())
+
+ versionMatches := regexp.MustCompile(`/v[a-zA-Z0-9]+`).FindAllString(parsedURL.Path, -1)
+
+ // Only set the version if a version is found in the URL, else use the default
+ if len(versionMatches) > 0 {
+ c.SetAPIVersion(
+ strings.Trim(versionMatches[len(versionMatches)-1], "/"),
+ )
+ }
+
+ return c, nil
+}
+
+func (c *Client) SetBaseURL(baseURL string) *Client {
+ baseURLPath, _ := url.Parse(baseURL)
+
+ c.baseURL = path.Join(baseURLPath.Host, baseURLPath.Path)
+ c.apiProto = baseURLPath.Scheme
+
+ c.updateHostURL()
+
+ return c
+}
+
+// SetAPIVersion sets the version of the API to interface with
+func (c *Client) SetAPIVersion(apiVersion string) *Client {
+ c.apiVersion = apiVersion
+
+ c.updateHostURL()
+
+ return c
+}
+
+// InvalidateCache clears all cached responses for all endpoints.
+func (c *Client) InvalidateCache() {
+ c.cachedEntryLock.Lock()
+ defer c.cachedEntryLock.Unlock()
+
+ // GC will handle the old map
+ c.cachedEntries = make(map[string]clientCacheEntry)
+}
+
+// InvalidateCacheEndpoint invalidates a single cached endpoint.
+func (c *Client) InvalidateCacheEndpoint(endpoint string) error {
+ u, err := url.Parse(endpoint)
+ if err != nil {
+ return fmt.Errorf("failed to parse URL for caching: %w", err)
+ }
+
+ c.cachedEntryLock.Lock()
+ defer c.cachedEntryLock.Unlock()
+
+ delete(c.cachedEntries, u.Path)
+
+ return nil
+}
+
+// SetGlobalCacheExpiration sets the desired time for any cached response
+// to be valid for.
+func (c *Client) SetGlobalCacheExpiration(expiryTime time.Duration) {
+ c.cacheExpiration = expiryTime
+}
+
+// UseCache sets whether response caching should be used
+func (c *Client) UseCache(value bool) {
+ c.shouldCache = value
+}
+
+// SetRetryMaxWaitTime sets the maximum delay before retrying a request.
+func (c *Client) SetRetryMaxWaitTime(maxWaitTime time.Duration) *Client {
+ c.retryMaxWaitTime = maxWaitTime
+ return c
+}
+
+// SetRetryWaitTime sets the default (minimum) delay before retrying a request.
+func (c *Client) SetRetryWaitTime(minWaitTime time.Duration) *Client {
+ c.retryMinWaitTime = minWaitTime
+ return c
+}
+
+// SetRetryAfter sets the callback function to be invoked with a failed request
+// to determine wben it should be retried.
+func (c *Client) SetRetryAfter(callback RetryAfter) *Client {
+ c.retryAfter = callback
+ return c
+}
+
+// SetRetryCount sets the maximum retry attempts before aborting.
+func (c *Client) SetRetryCount(count int) *Client {
+ c.retryCount = count
+ return c
+}
+
+// SetPollDelay sets the number of milliseconds to wait between events or status polls.
+// Affects all WaitFor* functions and retries.
+func (c *Client) SetPollDelay(delay time.Duration) *Client {
+ c.pollInterval = delay
+ return c
+}
+
+// GetPollDelay gets the number of milliseconds to wait between events or status polls.
+// Affects all WaitFor* functions and retries.
+func (c *Client) GetPollDelay() time.Duration {
+ return c.pollInterval
+}
+
+// SetHeader sets a custom header to be used in all API requests made with the current
+// client.
+// NOTE: Some headers may be overridden by the individual request functions.
+func (c *Client) SetHeader(name, value string) {
+ if c.header == nil {
+ c.header = make(http.Header) // Initialize header if nil
+ }
+
+ c.header.Set(name, value)
+}
+
+func (c *Client) Transport() (*http.Transport, error) {
+ if transport, ok := c.httpClient.Transport.(*http.Transport); ok {
+ return transport, nil
+ }
+
+ return nil, fmt.Errorf("current transport is not an *http.Transport instance")
}
// Generic helper to execute HTTP requests using the net/http package
//
-// nolint:unused, funlen, gocognit
-func (c *httpClient) doRequest(ctx context.Context, method, url string, params RequestParams) error {
+// nolint:funlen, gocognit, nestif
+func (c *Client) doRequest(ctx context.Context, method, endpoint string, params requestParams, paginationMutator *func(*http.Request) error) error {
var (
- req *http.Request
- bodyBuffer *bytes.Buffer
- resp *http.Response
- err error
+ req *http.Request
+ resp *http.Response
+ err error
)
- for range httpDefaultRetryCount {
- req, bodyBuffer, err = c.createRequest(ctx, method, url, params)
+ for range c.retryCount {
+ // createRequest seeks params.Body back to the start, so it's safe to retry.
+ req, err = c.createRequest(ctx, method, endpoint, params)
if err != nil {
return err
}
+ if paginationMutator != nil {
+ if mutErr := (*paginationMutator)(req); mutErr != nil {
+ return c.ErrorAndLogf("failed to mutate before request: %v", mutErr.Error())
+ }
+ }
+
if err = c.applyBeforeRequest(req); err != nil {
return err
}
if c.debug && c.logger != nil {
- c.logRequest(req, method, url, bodyBuffer)
+ req = c.logRequest(req)
}
- processResponse := func() error {
+ processResponse := func(start, end time.Time) error {
defer func() {
closeErr := resp.Body.Close()
if closeErr != nil && err == nil {
@@ -273,12 +553,7 @@ func (c *httpClient) doRequest(ctx context.Context, method, url string, params R
}
if c.debug && c.logger != nil {
- var logErr error
-
- resp, logErr = c.logResponse(resp)
- if logErr != nil {
- return logErr
- }
+ resp = c.logResponse(resp, start, end)
}
if params.Response != nil {
@@ -295,9 +570,12 @@ func (c *httpClient) doRequest(ctx context.Context, method, url string, params R
return nil
}
+ startTime := time.Now()
resp, err = c.sendRequest(req)
+ endTime := time.Now()
+
if err == nil {
- if err = processResponse(); err == nil {
+ if err = processResponse(startTime, endTime); err == nil {
return nil
}
}
@@ -311,19 +589,33 @@ func (c *httpClient) doRequest(ctx context.Context, method, url string, params R
return retryErr
}
- // Sleep for the specified duration before retrying.
- // If retryAfter is 0 (i.e., Retry-After header is not found),
- // no delay is applied.
- time.Sleep(retryAfter)
+ // Determine wait time before retrying.
+ // If the server provided a Retry-After duration, use it (clamped to bounds).
+ // Otherwise, fall back to the configured minimum wait time.
+ waitTime := c.retryMinWaitTime
+
+ if retryAfter > 0 {
+ waitTime = retryAfter
+ }
+
+ // Ensure the wait time is within the defined bounds
+ if waitTime < c.retryMinWaitTime {
+ waitTime = c.retryMinWaitTime
+ } else if waitTime > c.retryMaxWaitTime {
+ waitTime = c.retryMaxWaitTime
+ }
+
+ // Sleep for the calculated duration before retrying
+ time.Sleep(waitTime)
}
return err
}
-// nolint:unused
-func (c *httpClient) shouldRetry(resp *http.Response, err error) bool {
+func (c *Client) shouldRetry(resp *http.Response, err error) bool {
for _, retryConditional := range c.retryConditionals {
if retryConditional(resp, err) {
+ log.Printf("[INFO] Received error %v - Retrying", err)
return true
}
}
@@ -331,35 +623,26 @@ func (c *httpClient) shouldRetry(resp *http.Response, err error) bool {
return false
}
-// nolint:unused
-func (c *httpClient) createRequest(ctx context.Context, method, url string, params RequestParams) (*http.Request, *bytes.Buffer, error) {
- var (
- bodyReader io.Reader
- bodyBuffer *bytes.Buffer
- )
+func (c *Client) createRequest(ctx context.Context, method, endpoint string, params requestParams) (*http.Request, error) {
+ var bodyReader io.Reader
if params.Body != nil {
- bodyBuffer = new(bytes.Buffer)
- if err := json.NewEncoder(bodyBuffer).Encode(params.Body); err != nil {
- if c.debug && c.logger != nil {
- c.logger.Errorf("failed to encode body: %v", err)
- }
-
- return nil, nil, fmt.Errorf("failed to encode body: %w", err)
+ // Reset the body position to the start before using it
+ _, err := params.Body.Seek(0, io.SeekStart)
+ if err != nil {
+ return nil, c.ErrorAndLogf("failed to seek to the start of the body: %v", err.Error())
}
- bodyReader = bodyBuffer
+ bodyReader = params.Body
}
- req, err := http.NewRequestWithContext(ctx, method, url, bodyReader)
+ req, err := http.NewRequestWithContext(ctx, method, fmt.Sprintf("%s/%s", strings.TrimRight(c.hostURL, "/"),
+ strings.TrimLeft(endpoint, "/")), bodyReader)
if err != nil {
- if c.debug && c.logger != nil {
- c.logger.Errorf("failed to create request: %v", err)
- }
-
- return nil, nil, fmt.Errorf("failed to create request: %w", err)
+ return nil, c.ErrorAndLogf("failed to create request: %v", err.Error())
}
+ // Set the default headers
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Accept", "application/json")
@@ -367,40 +650,43 @@ func (c *httpClient) createRequest(ctx context.Context, method, url string, para
req.Header.Set("User-Agent", c.userAgent)
}
- return req, bodyBuffer, nil
+ // Set additional headers added to the client
+ for name, values := range c.header {
+ for _, value := range values {
+ req.Header.Set(name, value)
+ }
+ }
+
+ // Apply per-request headers (these take priority over client headers)
+ for name, values := range params.Headers {
+ for _, value := range values {
+ req.Header.Set(name, value)
+ }
+ }
+
+ return req, nil
}
-// nolint:unused
-func (c *httpClient) applyBeforeRequest(req *http.Request) error {
+func (c *Client) applyBeforeRequest(req *http.Request) error {
for _, mutate := range c.onBeforeRequest {
if err := mutate(req); err != nil {
- if c.debug && c.logger != nil {
- c.logger.Errorf("failed to mutate before request: %v", err)
- }
-
- return fmt.Errorf("failed to mutate before request: %w", err)
+ return c.ErrorAndLogf("failed to mutate before request: %v", err.Error())
}
}
return nil
}
-// nolint:unused
-func (c *httpClient) applyAfterResponse(resp *http.Response) error {
+func (c *Client) applyAfterResponse(resp *http.Response) error {
for _, mutate := range c.onAfterResponse {
if err := mutate(resp); err != nil {
- if c.debug && c.logger != nil {
- c.logger.Errorf("failed to mutate after response: %v", err)
- }
-
- return fmt.Errorf("failed to mutate after response: %w", err)
+ return c.ErrorAndLogf("failed to mutate after response: %v", err.Error())
}
}
return nil
}
-// nolint:unused
func redactHeaders(headers http.Header) http.Header {
redacted := headers.Clone()
@@ -413,333 +699,222 @@ func redactHeaders(headers http.Header) http.Header {
return redacted
}
-// nolint:unused
-func (c *httpClient) logRequest(req *http.Request, method, url string, bodyBuffer *bytes.Buffer) {
- var reqBody string
- if bodyBuffer != nil {
- reqBody = bodyBuffer.String()
- } else {
- reqBody = "nil"
- }
-
- var logBuf bytes.Buffer
+func (c *Client) logRequest(req *http.Request) *http.Request {
+ var reqBody bytes.Buffer
+ if req.Body != nil {
+ if _, err := io.Copy(&reqBody, req.Body); err != nil {
+ c.logger.Errorf("failed to read request body: %v", err)
+ }
- err := reqLogTemplate.Execute(&logBuf, map[string]any{
- "Method": method,
- "URL": url,
- "Headers": redactHeaders(req.Header),
- "Body": reqBody,
- })
- if err == nil {
- c.logger.Debugf(logBuf.String())
+ req.Body = io.NopCloser(bytes.NewReader(reqBody.Bytes()))
}
-}
-// nolint:unused
-func (c *httpClient) sendRequest(req *http.Request) (*http.Response, error) {
- // #nosec G704
- resp, err := c.httpClient.Do(req)
- if err != nil {
- if c.debug && c.logger != nil {
- c.logger.Errorf("failed to send request: %v", err)
- }
+ reqLog := &RequestLog{
+ Request: strings.Join([]string{req.Method, req.URL.Path, req.Proto}, " "),
+ Host: req.Host,
+ Headers: redactHeaders(req.Header.Clone()),
+ Body: reqBody.String(),
+ }
- return nil, fmt.Errorf("failed to send request: %w", err)
+ e := c.requestLog(reqLog)
+ if e != nil {
+ _ = c.ErrorAndLogf("failed to log request: %v", e.Error())
}
- return resp, nil
-}
+ sanitizedBody := sanitizeLogValue(reqLog.Body)
-// nolint:unused
-func (c *httpClient) checkHTTPError(resp *http.Response) error {
- _, err := coupleAPIErrorsHTTP(resp, nil)
- if err != nil {
+ body, jsonErr := formatBody(sanitizedBody)
+ if jsonErr != nil {
if c.debug && c.logger != nil {
- c.logger.Errorf("received HTTP error: %v", err)
+ c.logger.Errorf("%v", jsonErr)
}
-
- return err
- }
-
- return nil
-}
-
-// nolint:unused
-func (c *httpClient) logResponse(resp *http.Response) (*http.Response, error) {
- var respBody bytes.Buffer
- if _, err := io.Copy(&respBody, resp.Body); err != nil {
- c.logger.Errorf("failed to read response body: %v", err)
}
var logBuf bytes.Buffer
- err := respLogTemplate.Execute(&logBuf, map[string]any{
- "Status": resp.Status,
- "Headers": redactHeaders(resp.Header),
- "Body": respBody.String(),
+ err := reqLogTemplate.Execute(&logBuf, map[string]any{
+ "Request": reqLog.Request,
+ "Host": reqLog.Host,
+ "Headers": formatHeaders(reqLog.Headers),
+ "Body": body,
})
if err == nil {
- c.logger.Debugf(logBuf.String())
+ c.logger.Debugf(sanitizeLogValue(logBuf.String()))
}
- resp.Body = io.NopCloser(bytes.NewReader(respBody.Bytes()))
-
- return resp, nil
+ return req
}
-// nolint:unused
-func (c *httpClient) decodeResponseBody(resp *http.Response, response any) error {
- if err := json.NewDecoder(resp.Body).Decode(response); err != nil {
- if c.debug && c.logger != nil {
- c.logger.Errorf("failed to decode response: %v", err)
- }
+func formatHeaders(headers map[string][]string) string {
+ var builder strings.Builder
+ builder.WriteString("\n")
- return fmt.Errorf("failed to decode response: %w", err)
+ keys := make([]string, 0, len(headers))
+ for key := range headers {
+ keys = append(keys, key)
}
- return nil
-}
+ sort.Strings(keys)
-// R wraps resty's R method
-func (c *Client) R(ctx context.Context) *resty.Request {
- return c.resty.R().
- ExpectContentType("application/json").
- SetHeader("Content-Type", "application/json").
- SetContext(ctx).
- SetError(APIError{})
-}
-
-// SetDebug sets the debug on resty's client
-func (c *Client) SetDebug(debug bool) *Client {
- c.debug = debug
- c.resty.SetDebug(debug)
+ for _, key := range keys {
+ builder.WriteString(fmt.Sprintf(" %s: %s\n", key, strings.Join(headers[key], ", ")))
+ }
- return c
+ return strings.TrimSuffix(builder.String(), "\n")
}
-// SetLogger allows the user to override the output
-// logger for debug logs.
-func (c *Client) SetLogger(logger Logger) *Client {
- c.resty.SetLogger(logger)
+// sanitizeLogValue removes or escapes control characters that could
+// enable log injection (e.g., \r, \n) from a string before it is written
+// to a log entry. Uses strings.ReplaceAll so static-analysis tools
+// (e.g., CodeQL) can recognize the sanitization.
+func sanitizeLogValue(s string) string {
+ s = strings.ReplaceAll(s, "\r\n", "\\n")
+ s = strings.ReplaceAll(s, "\r", "\\n")
+ s = strings.ReplaceAll(s, "\n", "\\n")
- return c
+ return s
}
-//nolint:unused
-func (c *httpClient) httpSetDebug(debug bool) *httpClient {
- c.debug = debug
-
- return c
-}
+func formatBody(body string) (string, error) {
+ body = strings.TrimSpace(body)
+ if body == "null" || body == "nil" || body == "" {
+ return "", nil
+ }
-//nolint:unused
-func (c *httpClient) httpSetLogger(logger httpLogger) *httpClient {
- c.logger = logger
+ var jsonData any
+ if err := json.Unmarshal([]byte(body), &jsonData); err != nil {
+ return "", fmt.Errorf("error unmarshalling JSON: %w", err)
+ }
- return c
-}
+ prettyJSON, err := json.MarshalIndent(jsonData, "", " ")
+ if err != nil {
+ return "", fmt.Errorf("error marshalling JSON: %w", err)
+ }
-// OnBeforeRequest adds a handler to the request body to run before the request is sent
-func (c *Client) OnBeforeRequest(m func(request *Request) error) {
- c.resty.OnBeforeRequest(func(_ *resty.Client, req *resty.Request) error {
- return m(req)
- })
+ return "\n" + string(prettyJSON), nil
}
-// OnAfterResponse adds a handler to the request body to run before the request is sent
-func (c *Client) OnAfterResponse(m func(response *Response) error) {
- c.resty.OnAfterResponse(func(_ *resty.Client, req *resty.Response) error {
- return m(req)
- })
-}
+func formatDate(dateStr string) (string, error) {
+ parsedTime, err := time.Parse(time.RFC1123, dateStr)
+ if err != nil {
+ return "", fmt.Errorf("error parsing date: %v", err)
+ }
-// nolint:unused
-func (c *httpClient) httpOnBeforeRequest(m func(*http.Request) error) *httpClient {
- c.onBeforeRequest = append(c.onBeforeRequest, m)
+ formattedDate := parsedTime.In(time.Local).Format("2006-01-02T15:04:05-07:00") // nolint:gosmopolitan
- return c
+ return formattedDate, nil
}
-// nolint:unused
-func (c *httpClient) httpOnAfterResponse(m func(*http.Response) error) *httpClient {
- c.onAfterResponse = append(c.onAfterResponse, m)
+func (c *Client) sendRequest(req *http.Request) (*http.Response, error) {
+ resp, err := c.httpClient.Do(req) //#nosec G704 // URL is constructed from client-configured base URL + endpoint
+ if err != nil {
+ return nil, c.ErrorAndLogf("failed to send request: %w", err)
+ }
- return c
+ return resp, nil
}
-// UseURL parses the individual components of the given API URL and configures the client
-// accordingly. For example, a valid URL.
-// For example:
-//
-// client.UseURL("https://api.test.linode.com/v4beta")
-func (c *Client) UseURL(apiURL string) (*Client, error) {
- parsedURL, err := url.Parse(apiURL)
+func (c *Client) checkHTTPError(resp *http.Response) error {
+ _, err := coupleAPIErrors(resp, nil)
if err != nil {
- return nil, fmt.Errorf("failed to parse URL: %w", err)
+ _ = c.ErrorAndLogf("received HTTP error: %v", err.Error())
+ return err
}
- if parsedURL.Scheme == "" || parsedURL.Host == "" {
- return nil, fmt.Errorf("need both scheme and host in API URL, got %q", apiURL)
- }
+ return nil
+}
- // Create a new URL excluding the path to use as the base URL
- baseURL := &url.URL{
- Host: parsedURL.Host,
- Scheme: parsedURL.Scheme,
+func (c *Client) logResponse(resp *http.Response, start, end time.Time) *http.Response {
+ var respBody bytes.Buffer
+ if _, err := io.Copy(&respBody, resp.Body); err != nil {
+ c.logger.Errorf("failed to read response body: %v", err)
}
- c.SetBaseURL(baseURL.String())
-
- versionMatches := regexp.MustCompile(`/v[a-zA-Z0-9]+`).FindAllString(parsedURL.Path, -1)
-
- // Only set the version if a version is found in the URL, else use the default
- if len(versionMatches) > 0 {
- c.SetAPIVersion(
- strings.Trim(versionMatches[len(versionMatches)-1], "/"),
- )
+ receivedAt, dateErr := formatDate(resp.Header.Get("Date"))
+ if dateErr != nil {
+ if c.debug && c.logger != nil {
+ c.logger.Errorf("failed to format date: %v", dateErr)
+ }
}
- return c, nil
-}
-
-// SetBaseURL sets the base URL of the Linode v4 API (https://api.linode.com/v4)
-func (c *Client) SetBaseURL(baseURL string) *Client {
- baseURLPath, _ := url.Parse(baseURL)
-
- c.baseURL = path.Join(baseURLPath.Host, baseURLPath.Path)
- c.apiProto = baseURLPath.Scheme
+ duration := end.Sub(start).String()
- c.updateHostURL()
-
- return c
-}
-
-// SetAPIVersion sets the version of the API to interface with
-func (c *Client) SetAPIVersion(apiVersion string) *Client {
- c.apiVersion = apiVersion
-
- c.updateHostURL()
-
- return c
-}
-
-// SetRootCertificate adds a root certificate to the underlying TLS client config
-func (c *Client) SetRootCertificate(path string) *Client {
- c.resty.SetRootCertificate(path)
- return c
-}
-
-// SetToken sets the API token for all requests from this client
-// Only necessary if you haven't already provided the http client to NewClient() configured with the token.
-func (c *Client) SetToken(token string) *Client {
- c.resty.SetHeader("Authorization", fmt.Sprintf("Bearer %s", token))
- return c
-}
+ respLog := &ResponseLog{
+ Status: resp.Status,
+ Proto: resp.Proto,
+ ReceivedAt: receivedAt,
+ TimeDuration: duration,
+ Headers: resp.Header,
+ Body: respBody.String(),
+ }
-// SetRetries adds retry conditions for "Linode Busy." errors and 429s.
-func (c *Client) SetRetries() *Client {
- c.
- addRetryConditional(linodeBusyRetryCondition).
- addRetryConditional(tooManyRequestsRetryCondition).
- addRetryConditional(serviceUnavailableRetryCondition).
- addRetryConditional(requestTimeoutRetryCondition).
- addRetryConditional(requestGOAWAYRetryCondition).
- addRetryConditional(requestNGINXRetryCondition).
- SetRetryMaxWaitTime(APIRetryMaxWaitTime)
- configureRetries(c)
+ body, jsonErr := formatBody(sanitizeLogValue(respLog.Body))
+ if jsonErr != nil {
+ if c.debug && c.logger != nil {
+ c.logger.Errorf("%v", jsonErr)
+ }
+ }
- return c
-}
+ var logBuf bytes.Buffer
-// AddRetryCondition adds a RetryConditional function to the Client
-func (c *Client) AddRetryCondition(retryCondition RetryConditional) *Client {
- c.resty.AddRetryCondition(resty.RetryConditionFunc(retryCondition))
- return c
-}
+ err := respLogTemplate.Execute(&logBuf, map[string]any{
+ "Status": respLog.Status,
+ "Proto": respLog.Proto,
+ "ReceivedAt": respLog.ReceivedAt,
+ "TimeDuration": respLog.TimeDuration,
+ "Headers": formatHeaders(redactHeaders(respLog.Headers)),
+ "Body": body,
+ })
+ if err == nil {
+ c.logger.Debugf(sanitizeLogValue(logBuf.String()))
+ }
-// InvalidateCache clears all cached responses for all endpoints.
-func (c *Client) InvalidateCache() {
- c.cachedEntryLock.Lock()
- defer c.cachedEntryLock.Unlock()
+ resp.Body = io.NopCloser(bytes.NewReader(respBody.Bytes()))
- // GC will handle the old map
- c.cachedEntries = make(map[string]clientCacheEntry)
+ return resp
}
-// InvalidateCacheEndpoint invalidates a single cached endpoint.
-func (c *Client) InvalidateCacheEndpoint(endpoint string) error {
- u, err := url.Parse(endpoint)
- if err != nil {
- return fmt.Errorf("failed to parse URL for caching: %w", err)
+func (c *Client) decodeResponseBody(resp *http.Response, response any) error {
+ if err := json.NewDecoder(resp.Body).Decode(response); err != nil {
+ return c.ErrorAndLogf("failed to decode response: %v", err.Error())
}
- c.cachedEntryLock.Lock()
- defer c.cachedEntryLock.Unlock()
-
- delete(c.cachedEntries, u.Path)
-
return nil
}
-// SetGlobalCacheExpiration sets the desired time for any cached response
-// to be valid for.
-func (c *Client) SetGlobalCacheExpiration(expiryTime time.Duration) {
- c.cacheExpiration = expiryTime
-}
-
-// UseCache sets whether response caching should be used
-func (c *Client) UseCache(value bool) {
- c.shouldCache = value
-}
-
-// SetRetryMaxWaitTime sets the maximum delay before retrying a request.
-func (c *Client) SetRetryMaxWaitTime(maxWaitTime time.Duration) *Client {
- c.resty.SetRetryMaxWaitTime(maxWaitTime)
- return c
-}
+func (c *Client) updateHostURL() {
+ apiProto := APIProto
+ baseURL := APIHost
+ apiVersion := APIVersion
-// SetRetryWaitTime sets the default (minimum) delay before retrying a request.
-func (c *Client) SetRetryWaitTime(minWaitTime time.Duration) *Client {
- c.resty.SetRetryWaitTime(minWaitTime)
- return c
-}
+ if c.baseURL != "" {
+ baseURL = c.baseURL
+ }
-// SetRetryAfter sets the callback function to be invoked with a failed request
-// to determine wben it should be retried.
-func (c *Client) SetRetryAfter(callback RetryAfter) *Client {
- c.resty.SetRetryAfter(resty.RetryAfterFunc(callback))
- return c
-}
+ if c.apiVersion != "" {
+ apiVersion = c.apiVersion
+ }
-// SetRetryCount sets the maximum retry attempts before aborting.
-func (c *Client) SetRetryCount(count int) *Client {
- c.resty.SetRetryCount(count)
- return c
-}
+ if c.apiProto != "" {
+ apiProto = c.apiProto
+ }
-// SetPollDelay sets the number of milliseconds to wait between events or status polls.
-// Affects all WaitFor* functions and retries.
-func (c *Client) SetPollDelay(delay time.Duration) *Client {
- c.pollInterval = delay
- return c
+ c.hostURL = strings.TrimRight(fmt.Sprintf("%s://%s/%s", apiProto, baseURL, url.PathEscape(apiVersion)), "/")
}
-// GetPollDelay gets the number of milliseconds to wait between events or status polls.
-// Affects all WaitFor* functions and retries.
-func (c *Client) GetPollDelay() time.Duration {
- return c.pollInterval
-}
+func (c *Client) tlsConfig() (*tls.Config, error) {
+ transport, err := c.Transport()
+ if err != nil {
+ return nil, err
+ }
-// SetHeader sets a custom header to be used in all API requests made with the current
-// client.
-// NOTE: Some headers may be overridden by the individual request functions.
-func (c *Client) SetHeader(name, value string) {
- c.resty.SetHeader(name, value)
-}
+ if transport.TLSClientConfig == nil {
+ transport.TLSClientConfig = &tls.Config{
+ MinVersion: tls.VersionTLS12,
+ }
+ }
-func (c *Client) addRetryConditional(retryConditional RetryConditional) *Client {
- c.retryConditionals = append(c.retryConditionals, retryConditional)
- return c
+ return transport.TLSClientConfig, nil
}
func (c *Client) addCachedResponse(endpoint string, response any, expiry *time.Duration) {
@@ -819,49 +994,25 @@ func (c *Client) getCachedResponse(endpoint string) any {
return c.cachedEntries[endpoint].Data
}
-func (c *Client) updateHostURL() {
- apiProto := APIProto
- baseURL := APIHost
- apiVersion := APIVersion
-
- if c.baseURL != "" {
- baseURL = c.baseURL
+func (c *Client) onRequestLog(rl func(*RequestLog) error) *Client {
+ if c.requestLog != nil {
+ c.logger.Warnf("Overwriting an existing on-request-log callback from=%s to=%s",
+ functionName(c.requestLog), functionName(rl))
}
- if c.apiVersion != "" {
- apiVersion = c.apiVersion
- }
+ c.requestLog = rl
- if c.apiProto != "" {
- apiProto = c.apiProto
- }
-
- c.resty.SetBaseURL(
- fmt.Sprintf(
- "%s://%s/%s",
- apiProto,
- baseURL,
- url.PathEscape(apiVersion),
- ),
- )
+ return c
}
-func redactLogHeaders(header http.Header) {
- for h, redactedValue := range redactHeadersMap {
- if header.Get(h) != "" {
- header.Set(h, redactedValue)
- }
- }
+func functionName(i any) string {
+ return runtime.FuncForPC(reflect.ValueOf(i).Pointer()).Name()
}
func (c *Client) enableLogSanitization() *Client {
- c.resty.OnRequestLog(func(r *resty.RequestLog) error {
- redactLogHeaders(r.Header)
- return nil
- })
-
- c.resty.OnResponseLog(func(r *resty.ResponseLog) error {
- redactLogHeaders(r.Header)
+ c.onRequestLog(func(r *RequestLog) error {
+ // masking authorization header
+ r.Headers.Set("Authorization", "Bearer *******************************")
return nil
})
@@ -958,16 +1109,3 @@ func generateListCacheURL(endpoint string, opts *ListOptions) (string, error) {
return fmt.Sprintf("%s:%s", endpoint, hashedOpts), nil
}
-
-func hasCustomTransport(hc *http.Client) bool {
- if hc == nil || hc.Transport == nil {
- return false
- }
-
- if _, ok := hc.Transport.(*http.Transport); !ok {
- log.Println("[WARN] Custom transport is not allowed with a custom root CA.")
- return true
- }
-
- return false
-}
diff --git a/client_http.go b/client_http.go
deleted file mode 100644
index 7f16362c5..000000000
--- a/client_http.go
+++ /dev/null
@@ -1,56 +0,0 @@
-package linodego
-
-import (
- "net/http"
- "sync"
- "time"
-)
-
-// Client is a wrapper around the Resty client
-//
-//nolint:unused
-type httpClient struct {
- //nolint:unused
- httpClient *http.Client
- //nolint:unused
- userAgent string
- //nolint:unused
- debug bool
- //nolint:unused
- retryConditionals []httpRetryConditional
- //nolint:unused
- retryAfter httpRetryAfter
-
- //nolint:unused
- pollInterval time.Duration
-
- //nolint:unused
- baseURL string
- //nolint:unused
- apiVersion string
- //nolint:unused
- apiProto string
- //nolint:unused
- selectedProfile string
- //nolint:unused
- loadedProfile string
-
- //nolint:unused
- configProfiles map[string]ConfigProfile
-
- // Fields for caching endpoint responses
- //nolint:unused
- shouldCache bool
- //nolint:unused
- cacheExpiration time.Duration
- //nolint:unused
- cachedEntries map[string]clientCacheEntry
- //nolint:unused
- cachedEntryLock *sync.RWMutex
- //nolint:unused
- logger httpLogger
- //nolint:unused
- onBeforeRequest []func(*http.Request) error
- //nolint:unused
- onAfterResponse []func(*http.Response) error
-}
diff --git a/client_monitor.go b/client_monitor.go
index b54dc8284..336c28a6b 100644
--- a/client_monitor.go
+++ b/client_monitor.go
@@ -2,13 +2,17 @@ package linodego
import (
"context"
+ "crypto/tls"
+ "crypto/x509"
+ "encoding/json"
"fmt"
+ "io"
"net/http"
"net/url"
"os"
"path"
-
- "github.com/go-resty/resty/v2"
+ "path/filepath"
+ "strings"
)
const (
@@ -24,25 +28,36 @@ const (
MonitorAPIEnvVar = "MONITOR_API_TOKEN"
)
-// MonitorClient is a wrapper around the Resty client
+// MonitorClient is a wrapper around the http client
type MonitorClient struct {
- resty *resty.Client
+ httpClient *http.Client
debug bool
apiBaseURL string
apiProtocol string
apiVersion string
+ hostURL string
userAgent string
+ header http.Header
+ logger Logger
}
// NewMonitorClient is the entry point for user to create a new MonitorClient
// It utilizes default values and looks for environment variables to initialize a MonitorClient.
func NewMonitorClient(hc *http.Client) (mClient MonitorClient) {
if hc != nil {
- mClient.resty = resty.NewWithClient(hc)
+ mClient.httpClient = hc
} else {
- mClient.resty = resty.New()
+ mClient.httpClient = &http.Client{}
+ }
+
+ // Ensure transport is initialized so SetRootCertificate can configure TLS
+ if mClient.httpClient.Transport == nil {
+ mClient.httpClient.Transport = &http.Transport{}
}
+ mClient.header = make(http.Header)
+ mClient.logger = createLogger()
+
mClient.SetUserAgent(DefaultUserAgent)
baseURL, baseURLExists := os.LookupEnv(MonitorAPIHostVar)
@@ -72,24 +87,14 @@ func NewMonitorClient(hc *http.Client) (mClient MonitorClient) {
// SetUserAgent sets a custom user-agent for HTTP requests
func (mc *MonitorClient) SetUserAgent(ua string) *MonitorClient {
mc.userAgent = ua
- mc.resty.SetHeader("User-Agent", mc.userAgent)
+ mc.header.Set("User-Agent", ua)
return mc
}
-// R wraps resty's R method
-func (mc *MonitorClient) R(ctx context.Context) *resty.Request {
- return mc.resty.R().
- ExpectContentType("application/json").
- SetHeader("Content-Type", "application/json").
- SetContext(ctx).
- SetError(APIError{})
-}
-
-// SetDebug sets the debug on resty's client
+// SetDebug sets the debug on the client
func (mc *MonitorClient) SetDebug(debug bool) *MonitorClient {
mc.debug = debug
- mc.resty.SetDebug(debug)
return mc
}
@@ -97,7 +102,7 @@ func (mc *MonitorClient) SetDebug(debug bool) *MonitorClient {
// SetLogger allows the user to override the output
// logger for debug logs.
func (mc *MonitorClient) SetLogger(logger Logger) *MonitorClient {
- mc.resty.SetLogger(logger)
+ mc.logger = logger
return mc
}
@@ -123,22 +128,52 @@ func (mc *MonitorClient) SetAPIVersion(apiVersion string) *MonitorClient {
return mc
}
-// SetRootCertificate adds a root certificate to the underlying TLS client config
-func (mc *MonitorClient) SetRootCertificate(path string) *MonitorClient {
- mc.resty.SetRootCertificate(path)
- return mc
+// SetRootCertificate adds a root certificate to the underlying TLS client config.
+func (mc *MonitorClient) SetRootCertificate(certPath string) error {
+ transport, ok := mc.httpClient.Transport.(*http.Transport)
+ if !ok {
+ err := fmt.Errorf("current transport is not an *http.Transport instance")
+ if mc.logger != nil {
+ mc.logger.Errorf("%s", err)
+ }
+
+ return err
+ }
+
+ if transport.TLSClientConfig == nil {
+ transport.TLSClientConfig = &tls.Config{
+ MinVersion: tls.VersionTLS12,
+ }
+ }
+
+ if transport.TLSClientConfig.RootCAs == nil {
+ transport.TLSClientConfig.RootCAs = x509.NewCertPool()
+ }
+
+ pem, err := os.ReadFile(filepath.Clean(certPath))
+ if err != nil {
+ if mc.logger != nil {
+ mc.logger.Errorf("Failed to read root certificate at %s: %s", certPath, err.Error())
+ }
+
+ return fmt.Errorf("failed to read root certificate at %s: %w", certPath, err)
+ }
+
+ transport.TLSClientConfig.RootCAs.AppendCertsFromPEM(pem)
+
+ return nil
}
// SetToken sets the API token for all requests from this client
func (mc *MonitorClient) SetToken(token string) *MonitorClient {
- mc.resty.SetHeader("Authorization", fmt.Sprintf("Bearer %s", token))
+ mc.header.Set("Authorization", fmt.Sprintf("Bearer %s", token))
return mc
}
// SetHeader sets a custom header to be used in all API requests made with the current client.
// NOTE: Some headers may be overridden by the individual request functions.
func (mc *MonitorClient) SetHeader(name, value string) {
- mc.resty.SetHeader(name, value)
+ mc.header.Set(name, value)
}
func (mc *MonitorClient) updateMonitorHostURL() {
@@ -158,12 +193,66 @@ func (mc *MonitorClient) updateMonitorHostURL() {
apiProto = mc.apiProtocol
}
- mc.resty.SetBaseURL(
- fmt.Sprintf(
- "%s://%s/%s",
- apiProto,
- baseURL,
- url.PathEscape(apiVersion),
- ),
+ mc.hostURL = fmt.Sprintf(
+ "%s://%s/%s",
+ apiProto,
+ baseURL,
+ url.PathEscape(apiVersion),
)
}
+
+// doRequest is a generic helper to execute HTTP requests for the MonitorClient
+func (mc *MonitorClient) doRequest(ctx context.Context, method, endpoint string, params requestParams) error {
+ var bodyReader io.Reader
+
+ if params.Body != nil {
+ if _, err := params.Body.Seek(0, io.SeekStart); err != nil {
+ return fmt.Errorf("failed to seek body: %w", err)
+ }
+
+ bodyReader = params.Body
+ }
+
+ reqURL := fmt.Sprintf("%s/%s", strings.TrimRight(mc.hostURL, "/"), strings.TrimLeft(endpoint, "/"))
+
+ req, err := http.NewRequestWithContext(ctx, method, reqURL, bodyReader)
+ if err != nil {
+ return fmt.Errorf("failed to create request: %w", err)
+ }
+
+ req.Header.Set("Content-Type", "application/json")
+ req.Header.Set("Accept", "application/json")
+
+ for name, values := range mc.header {
+ for _, value := range values {
+ req.Header.Set(name, value)
+ }
+ }
+
+ if mc.debug && mc.logger != nil {
+ mc.logger.Debugf("Sending request: %s %s", method, reqURL)
+ }
+
+ resp, err := mc.httpClient.Do(req)
+ if err != nil {
+ return fmt.Errorf("failed to send request: %w", err)
+ }
+ defer resp.Body.Close()
+
+ _, err = coupleAPIErrors(resp, nil)
+ if err != nil {
+ return err
+ }
+
+ if mc.debug && mc.logger != nil {
+ mc.logger.Debugf("Received response: %s", resp.Status)
+ }
+
+ if params.Response != nil {
+ if err := json.NewDecoder(resp.Body).Decode(params.Response); err != nil {
+ return fmt.Errorf("failed to decode response: %w", err)
+ }
+ }
+
+ return nil
+}
diff --git a/client_test.go b/client_test.go
index f925f3678..a9baf5679 100644
--- a/client_test.go
+++ b/client_test.go
@@ -16,10 +16,18 @@ import (
"github.com/google/go-cmp/cmp"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego/internal/testutil"
+ "github.com/linode/linodego/v2/internal/testutil"
"github.com/stretchr/testify/require"
)
+func newTestClient(t *testing.T, hc *http.Client) Client {
+ t.Helper()
+
+ client, err := NewClient(hc)
+ require.NoError(t, err)
+ return client
+}
+
func TestClient_SetAPIVersion(t *testing.T) {
defaultURL := "https://api.linode.com/v4"
@@ -35,41 +43,41 @@ func TestClient_SetAPIVersion(t *testing.T) {
protocolAPIVersion := "v4_http"
protocolExpectedHost := fmt.Sprintf("%s/%s", protocolBaseURL, protocolAPIVersion)
- client := NewClient(nil)
+ client := newTestClient(t, nil)
- if client.resty.BaseURL != defaultURL {
- t.Fatal(cmp.Diff(client.resty.BaseURL, defaultURL))
+ if client.hostURL != defaultURL {
+ t.Fatal(cmp.Diff(client.hostURL, defaultURL))
}
client.SetBaseURL(baseURL)
client.SetAPIVersion(apiVersion)
- if client.resty.BaseURL != expectedHost {
- t.Fatal(cmp.Diff(client.resty.BaseURL, expectedHost))
+ if client.hostURL != expectedHost {
+ t.Fatal(cmp.Diff(client.hostURL, expectedHost))
}
// Ensure setting twice does not cause conflicts
client.SetBaseURL(updatedBaseURL)
client.SetAPIVersion(updatedAPIVersion)
- if client.resty.BaseURL != updatedExpectedHost {
- t.Fatal(cmp.Diff(client.resty.BaseURL, updatedExpectedHost))
+ if client.hostURL != updatedExpectedHost {
+ t.Fatal(cmp.Diff(client.hostURL, updatedExpectedHost))
}
// Revert
client.SetBaseURL(baseURL)
client.SetAPIVersion(apiVersion)
- if client.resty.BaseURL != expectedHost {
- t.Fatal(cmp.Diff(client.resty.BaseURL, expectedHost))
+ if client.hostURL != expectedHost {
+ t.Fatal(cmp.Diff(client.hostURL, expectedHost))
}
// Custom protocol
client.SetBaseURL(protocolBaseURL)
client.SetAPIVersion(protocolAPIVersion)
- if client.resty.BaseURL != protocolExpectedHost {
- t.Fatal(cmp.Diff(client.resty.BaseURL, expectedHost))
+ if client.hostURL != protocolExpectedHost {
+ t.Fatal(cmp.Diff(client.hostURL, expectedHost))
}
}
@@ -111,7 +119,7 @@ func TestClient_NewFromEnvToken(t *testing.T) {
t.Fatal(err)
}
- if client.resty.Header.Get("Authorization") != "Bearer blah" {
+ if client.header.Get("Authorization") != "Bearer blah" {
t.Fatal("token not found in auth header: blah")
}
}
@@ -152,7 +160,7 @@ func TestClient_UseURL(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
- client := NewClient(nil)
+ client := newTestClient(t, nil)
_, err := client.UseURL(tt.inputURL)
@@ -171,8 +179,8 @@ func TestClient_UseURL(t *testing.T) {
t.Fatalf("unexpected error: %v", err)
}
- if client.resty.BaseURL != tt.wantBaseURL {
- t.Fatalf("mismatched base url: got %s, want %s", client.resty.BaseURL, tt.wantBaseURL)
+ if client.hostURL != tt.wantBaseURL {
+ t.Fatalf("mismatched base url: got %s, want %s", client.hostURL, tt.wantBaseURL)
}
})
}
@@ -203,18 +211,18 @@ func TestDebugLogSanitization(t *testing.T) {
plainTextToken := "NOTANAPIKEY"
- mockClient := testutil.CreateMockClient(t, NewClient)
+ mockClient := testutil.CreateMockClientWithError(t, NewClient)
logger := testutil.CreateLogger()
mockClient.SetLogger(logger)
logger.L.SetOutput(&lgr)
mockClient.SetDebug(true)
- if !mockClient.resty.Debug {
+ if !mockClient.debug {
t.Fatal("debug should be enabled")
}
mockClient.SetHeader("Authorization", fmt.Sprintf("Bearer %s", plainTextToken))
- if mockClient.resty.Header.Get("Authorization") != fmt.Sprintf("Bearer %s", plainTextToken) {
+ if mockClient.header.Get("Authorization") != fmt.Sprintf("Bearer %s", plainTextToken) {
t.Fatal("token not found in auth header")
}
@@ -242,22 +250,25 @@ func TestDebugLogSanitization(t *testing.T) {
func TestDoRequest_Success(t *testing.T) {
handler := func(w http.ResponseWriter, r *http.Request) {
- w.WriteHeader(http.StatusOK)
- w.Header().Set("Content-Type", "application/json")
- _, _ = w.Write([]byte(`{"message":"success"}`))
+ if r.URL.Path == "/v4/foo/bar" {
+ w.WriteHeader(http.StatusOK)
+ w.Header().Set("Content-Type", "application/json")
+ _, _ = w.Write([]byte(`{"message":"success"}`))
+ } else {
+ http.NotFound(w, r)
+ }
}
server := httptest.NewServer(http.HandlerFunc(handler))
defer server.Close()
- client := &httpClient{
- httpClient: server.Client(),
- }
+ client := newTestClient(t, server.Client())
+ client.SetBaseURL(server.URL)
- params := RequestParams{
+ params := requestParams{
Response: &map[string]string{},
}
- err := client.doRequest(context.Background(), http.MethodGet, server.URL, params)
+ err := client.doRequest(context.Background(), http.MethodGet, "/foo/bar", params, nil) // Pass only the endpoint
if err != nil {
t.Fatal(cmp.Diff(nil, err))
}
@@ -269,31 +280,11 @@ func TestDoRequest_Success(t *testing.T) {
}
}
-func TestDoRequest_FailedEncodeBody(t *testing.T) {
- client := &httpClient{
- httpClient: http.DefaultClient,
- }
-
- params := RequestParams{
- Body: map[string]interface{}{
- "invalid": func() {},
- },
- }
-
- err := client.doRequest(context.Background(), http.MethodPost, "http://example.com", params)
- expectedErr := "failed to encode body"
- if err == nil || !strings.Contains(err.Error(), expectedErr) {
- t.Fatalf("expected error %q, got: %v", expectedErr, err)
- }
-}
-
func TestDoRequest_FailedCreateRequest(t *testing.T) {
- client := &httpClient{
- httpClient: http.DefaultClient,
- }
+ client := newTestClient(t, nil)
- // Create a request with an invalid URL to simulate a request creation failure
- err := client.doRequest(context.Background(), http.MethodGet, "http://invalid url", RequestParams{})
+ // Create a request with an invalid method to simulate a request creation failure
+ err := client.doRequest(context.Background(), "bad method", "/foo/bar", requestParams{}, nil)
expectedErr := "failed to create request"
if err == nil || !strings.Contains(err.Error(), expectedErr) {
t.Fatalf("expected error %q, got: %v", expectedErr, err)
@@ -302,26 +293,28 @@ func TestDoRequest_FailedCreateRequest(t *testing.T) {
func TestDoRequest_Non2xxStatusCode(t *testing.T) {
handler := func(w http.ResponseWriter, r *http.Request) {
- http.Error(w, "error", http.StatusInternalServerError)
+ http.Error(w, "error", http.StatusInternalServerError) // Simulate a 500 Internal Server Error
}
server := httptest.NewServer(http.HandlerFunc(handler))
defer server.Close()
- client := &httpClient{
- httpClient: server.Client(),
- }
+ client := newTestClient(t, server.Client())
+ client.SetBaseURL(server.URL)
- err := client.doRequest(context.Background(), http.MethodGet, server.URL, RequestParams{})
+ err := client.doRequest(context.Background(), http.MethodGet, "/foo/bar", requestParams{}, nil)
if err == nil {
t.Fatal("expected error, got nil")
}
- httpError, ok := err.(Error)
+
+ httpError, ok := err.(*Error)
if !ok {
t.Fatalf("expected error to be of type Error, got %T", err)
}
+
if httpError.Code != http.StatusInternalServerError {
t.Fatalf("expected status code %d, got %d", http.StatusInternalServerError, httpError.Code)
}
+
if !strings.Contains(httpError.Message, "error") {
t.Fatalf("expected error message to contain %q, got %v", "error", httpError.Message)
}
@@ -331,21 +324,21 @@ func TestDoRequest_FailedDecodeResponse(t *testing.T) {
handler := func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
w.Header().Set("Content-Type", "application/json")
- _, _ = w.Write([]byte(`invalid json`))
+ _, _ = w.Write([]byte(`invalid json`)) // Simulate invalid JSON
}
server := httptest.NewServer(http.HandlerFunc(handler))
defer server.Close()
- client := &httpClient{
- httpClient: server.Client(),
- }
+ client := newTestClient(t, server.Client())
+ client.SetBaseURL(server.URL)
- params := RequestParams{
+ params := requestParams{
Response: &map[string]string{},
}
- err := client.doRequest(context.Background(), http.MethodGet, server.URL, params)
+ err := client.doRequest(context.Background(), http.MethodGet, "/foo/bar", params, nil)
expectedErr := "failed to decode response"
+
if err == nil || !strings.Contains(err.Error(), expectedErr) {
t.Fatalf("expected error %q, got: %v", expectedErr, err)
}
@@ -363,24 +356,21 @@ func TestDoRequest_BeforeRequestSuccess(t *testing.T) {
server := httptest.NewServer(http.HandlerFunc(handler))
defer server.Close()
- client := &httpClient{
- httpClient: server.Client(),
- }
+ client := newTestClient(t, server.Client())
+ client.SetBaseURL(server.URL)
- // Define a mutator that successfully modifies the request
mutator := func(req *http.Request) error {
req.Header.Set("X-Custom-Header", "CustomValue")
return nil
}
- client.httpOnBeforeRequest(mutator)
+ client.OnBeforeRequest(mutator)
- err := client.doRequest(context.Background(), http.MethodGet, server.URL, RequestParams{})
+ err := client.doRequest(context.Background(), http.MethodGet, "/foo/bar", requestParams{}, nil)
if err != nil {
t.Fatalf("expected no error, got: %v", err)
}
- // Check if the header was successfully added to the captured request
if reqHeader := capturedRequest.Header.Get("X-Custom-Header"); reqHeader != "CustomValue" {
t.Fatalf("expected X-Custom-Header to be set to CustomValue, got: %v", reqHeader)
}
@@ -395,18 +385,18 @@ func TestDoRequest_BeforeRequestError(t *testing.T) {
server := httptest.NewServer(http.HandlerFunc(handler))
defer server.Close()
- client := &httpClient{
- httpClient: server.Client(),
- }
+ client := newTestClient(t, server.Client())
+ client.SetBaseURL(server.URL)
mutator := func(req *http.Request) error {
return errors.New("mutator error")
}
- client.httpOnBeforeRequest(mutator)
+ client.OnBeforeRequest(mutator)
- err := client.doRequest(context.Background(), http.MethodGet, server.URL, RequestParams{})
+ err := client.doRequest(context.Background(), http.MethodGet, "/foo/bar", requestParams{}, nil)
expectedErr := "failed to mutate before request"
+
if err == nil || !strings.Contains(err.Error(), expectedErr) {
t.Fatalf("expected error %q, got: %v", expectedErr, err)
}
@@ -425,23 +415,21 @@ func TestDoRequest_AfterResponseSuccess(t *testing.T) {
tr := &testRoundTripper{
Transport: server.Client().Transport,
}
- client := &httpClient{
- httpClient: &http.Client{Transport: tr},
- }
+ client := newTestClient(t, &http.Client{Transport: tr})
+ client.SetBaseURL(server.URL)
mutator := func(resp *http.Response) error {
resp.Header.Set("X-Modified-Header", "ModifiedValue")
return nil
}
- client.httpOnAfterResponse(mutator)
+ client.OnAfterResponse(mutator)
- err := client.doRequest(context.Background(), http.MethodGet, server.URL, RequestParams{})
+ err := client.doRequest(context.Background(), http.MethodGet, "/foo/bar", requestParams{}, nil)
if err != nil {
t.Fatalf("expected no error, got: %v", err)
}
- // Check if the header was successfully added to the response
if respHeader := tr.Response.Header.Get("X-Modified-Header"); respHeader != "ModifiedValue" {
t.Fatalf("expected X-Modified-Header to be set to ModifiedValue, got: %v", respHeader)
}
@@ -456,17 +444,16 @@ func TestDoRequest_AfterResponseError(t *testing.T) {
server := httptest.NewServer(http.HandlerFunc(handler))
defer server.Close()
- client := &httpClient{
- httpClient: server.Client(),
- }
+ client := newTestClient(t, server.Client())
+ client.SetBaseURL(server.URL)
mutator := func(resp *http.Response) error {
return errors.New("mutator error")
}
- client.httpOnAfterResponse(mutator)
+ client.OnAfterResponse(mutator)
- err := client.doRequest(context.Background(), http.MethodGet, server.URL, RequestParams{})
+ err := client.doRequest(context.Background(), http.MethodGet, "/foo/bar", requestParams{}, nil)
expectedErr := "failed to mutate after response"
if err == nil || !strings.Contains(err.Error(), expectedErr) {
t.Fatalf("expected error %q, got: %v", expectedErr, err)
@@ -478,11 +465,9 @@ func TestDoRequestLogging_Success(t *testing.T) {
logger := createLogger()
logger.l.SetOutput(&logBuffer) // Redirect log output to buffer
- client := &httpClient{
- httpClient: http.DefaultClient,
- debug: true,
- logger: logger,
- }
+ client := newTestClient(t, nil)
+ client.SetDebug(true)
+ client.SetLogger(logger)
handler := func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
@@ -490,29 +475,46 @@ func TestDoRequestLogging_Success(t *testing.T) {
_, _ = w.Write([]byte(`{"message":"success"}`))
}
server := httptest.NewServer(http.HandlerFunc(handler))
+ client.SetBaseURL(server.URL)
defer server.Close()
- params := RequestParams{
+ params := requestParams{
Response: &map[string]string{},
}
+ endpoint := "/foo/bar"
- err := client.doRequest(context.Background(), http.MethodGet, server.URL, params)
+ err := client.doRequest(context.Background(), http.MethodGet, endpoint, params, nil)
if err != nil {
t.Fatal(cmp.Diff(nil, err))
}
logInfo := logBuffer.String()
- logInfoWithoutTimestamps := removeTimestamps(logInfo)
- // Expected logs with templates filled in
- expectedRequestLog := "DEBUG RESTY Sending request:\nMethod: GET\nURL: " + server.URL + "\nHeaders: map[Accept:[application/json] Content-Type:[application/json]]\nBody: "
- expectedResponseLog := "DEBUG RESTY Received response:\nStatus: 200 OK\nHeaders: map[Content-Length:[21] Content-Type:[text/plain; charset=utf-8]]\nBody: {\"message\":\"success\"}"
+ expectedRequestParts := []string{
+ "GET /v4/foo/bar HTTP/1.1",
+ "Accept: application/json",
+ "Authorization: Bearer *******************************",
+ "Content-Type: application/json",
+ "User-Agent: linodego/dev https://github.com/linode/linodego",
+ }
+
+ expectedResponseParts := []string{
+ "STATUS: 200 OK",
+ "PROTO: HTTP/1.1",
+ "Content-Length: 21",
+ "Content-Type: application/json",
+ `"message": "success"`,
+ }
- if !strings.Contains(logInfo, expectedRequestLog) {
- t.Fatalf("expected log %q not found in logs", expectedRequestLog)
+ for _, part := range expectedRequestParts {
+ if !strings.Contains(logInfo, part) {
+ t.Fatalf("expected request part %q not found in logs", part)
+ }
}
- if !strings.Contains(logInfoWithoutTimestamps, expectedResponseLog) {
- t.Fatalf("expected log %q not found in logs", expectedResponseLog)
+ for _, part := range expectedResponseParts {
+ if !strings.Contains(logInfo, part) {
+ t.Fatalf("expected response part %q not found in logs", part)
+ }
}
}
@@ -521,26 +523,19 @@ func TestDoRequestLogging_Error(t *testing.T) {
logger := createLogger()
logger.l.SetOutput(&logBuffer) // Redirect log output to buffer
- client := &httpClient{
- httpClient: http.DefaultClient,
- debug: true,
- logger: logger,
- }
+ client := newTestClient(t, nil)
+ client.SetDebug(true)
+ client.SetLogger(logger)
- params := RequestParams{
- Body: map[string]interface{}{
- "invalid": func() {},
- },
- }
-
- err := client.doRequest(context.Background(), http.MethodPost, "http://example.com", params)
- expectedErr := "failed to encode body"
+ // Create a request with an invalid method to simulate a request creation failure
+ err := client.doRequest(context.Background(), "bad method", "/foo/bar", requestParams{}, nil)
+ expectedErr := "failed to create request"
if err == nil || !strings.Contains(err.Error(), expectedErr) {
t.Fatalf("expected error %q, got: %v", expectedErr, err)
}
logInfo := logBuffer.String()
- expectedLog := "ERROR RESTY failed to encode body"
+ expectedLog := "ERROR failed to create request"
if !strings.Contains(logInfo, expectedLog) {
t.Fatalf("expected log %q not found in logs", expectedLog)
@@ -599,18 +594,20 @@ func TestClient_CustomRootCAWithCustomRoundTripper(t *testing.T) {
Transport: server.Client().Transport,
}
- buf := new(strings.Builder)
- log.SetOutput(buf)
-
- NewClient(&http.Client{Transport: tr})
-
- expectedLog := "Custom transport is not allowed with a custom root CA"
+ var logBuf bytes.Buffer
+ prevWriter := log.Writer()
+ log.SetOutput(&logBuf)
+ defer log.SetOutput(prevWriter)
+ _, err = NewClient(&http.Client{Transport: tr})
+ require.NoError(t, err)
+ require.Contains(t, logBuf.String(), "[WARN] Custom root certificate is not supported with a custom transport")
+}
- if !strings.Contains(buf.String(), expectedLog) {
- t.Fatalf("expected log %q not found in logs", expectedLog)
- }
+func TestClient_CustomRootCAWithMissingFile(t *testing.T) {
+ t.Setenv(APIHostCert, "/does/not/exist.pem")
- log.SetOutput(os.Stderr)
+ _, err := NewClient(nil)
+ require.ErrorContains(t, err, "failed to read root certificate")
}
func TestClient_CustomRootCAWithoutCustomRoundTripper(t *testing.T) {
@@ -637,10 +634,10 @@ func TestClient_CustomRootCAWithoutCustomRoundTripper(t *testing.T) {
t.Setenv(APIHostCert, caFile.Name())
}
- client := NewClient(test.httpClient)
- transport, err := client.resty.Transport()
- if err != nil {
- t.Fatal(err)
+ client := newTestClient(t, test.httpClient)
+ transport, ok := client.httpClient.Transport.(*http.Transport)
+ if !ok {
+ t.Fatal("expected *http.Transport")
}
if test.setCA && (transport.TLSClientConfig == nil || transport.TLSClientConfig.RootCAs == nil) {
t.Error("expected root CAs to be set")
@@ -669,39 +666,98 @@ func TestMonitorClient_SetAPIBasics(t *testing.T) {
client := NewMonitorClient(nil)
- if client.resty.BaseURL != defaultURL {
- t.Fatal(cmp.Diff(client.resty.BaseURL, defaultURL))
+ if client.hostURL != defaultURL {
+ t.Fatal(cmp.Diff(client.hostURL, defaultURL))
}
client.SetBaseURL(baseURL)
client.SetAPIVersion(apiVersion)
- if client.resty.BaseURL != expectedHost {
- t.Fatal(cmp.Diff(client.resty.BaseURL, expectedHost))
+ if client.hostURL != expectedHost {
+ t.Fatal(cmp.Diff(client.hostURL, expectedHost))
}
// Ensure setting twice does not cause conflicts
client.SetBaseURL(updatedBaseURL)
client.SetAPIVersion(updatedAPIVersion)
- if client.resty.BaseURL != updatedExpectedHost {
- t.Fatal(cmp.Diff(client.resty.BaseURL, updatedExpectedHost))
+ if client.hostURL != updatedExpectedHost {
+ t.Fatal(cmp.Diff(client.hostURL, updatedExpectedHost))
}
// Revert
client.SetBaseURL(baseURL)
client.SetAPIVersion(apiVersion)
- if client.resty.BaseURL != expectedHost {
- t.Fatal(cmp.Diff(client.resty.BaseURL, expectedHost))
+ if client.hostURL != expectedHost {
+ t.Fatal(cmp.Diff(client.hostURL, expectedHost))
}
// Custom protocol
client.SetBaseURL(protocolBaseURL)
client.SetAPIVersion(protocolAPIVersion)
- if client.resty.BaseURL != protocolExpectedHost {
- t.Fatal(cmp.Diff(client.resty.BaseURL, expectedHost))
+ if client.hostURL != protocolExpectedHost {
+ t.Fatal(cmp.Diff(client.hostURL, expectedHost))
+ }
+}
+
+func TestMonitorClient_SetRootCertificateWithCustomRoundTripper(t *testing.T) {
+ caFile, err := os.CreateTemp(t.TempDir(), "linodego_test_ca_*")
+ if err != nil {
+ t.Fatalf("Failed to create temp ca file: %s", err)
+ }
+ defer os.Remove(caFile.Name())
+
+ server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+ w.WriteHeader(http.StatusOK)
+ }))
+ defer server.Close()
+
+ tr := &testRoundTripper{Transport: server.Client().Transport}
+ client := NewMonitorClient(&http.Client{Transport: tr})
+
+ err = client.SetRootCertificate(caFile.Name())
+ require.ErrorContains(t, err, "current transport is not an *http.Transport instance")
+}
+
+func TestMonitorClient_SetRootCertificateWithMissingFile(t *testing.T) {
+ client := NewMonitorClient(nil)
+
+ err := client.SetRootCertificate("/does/not/exist.pem")
+ require.ErrorContains(t, err, "failed to read root certificate")
+}
+
+func TestMonitorClient_SetRootCertificateWithoutCustomRoundTripper(t *testing.T) {
+ caFile, err := os.CreateTemp(t.TempDir(), "linodego_test_ca_*")
+ if err != nil {
+ t.Fatalf("Failed to create temp ca file: %s", err)
+ }
+ defer os.Remove(caFile.Name())
+
+ tests := []struct {
+ name string
+ httpClient *http.Client
+ }{
+ {"default http client", nil},
+ {"timeout http client", &http.Client{Timeout: time.Second}},
+ }
+
+ for _, test := range tests {
+ t.Run(test.name, func(t *testing.T) {
+ client := NewMonitorClient(test.httpClient)
+
+ err := client.SetRootCertificate(caFile.Name())
+ require.NoError(t, err)
+
+ transport, ok := client.httpClient.Transport.(*http.Transport)
+ if !ok {
+ t.Fatal("expected *http.Transport")
+ }
+ if transport.TLSClientConfig == nil || transport.TLSClientConfig.RootCAs == nil {
+ t.Error("expected root CAs to be set")
+ }
+ })
}
}
@@ -771,7 +827,7 @@ func TestRedactHeaders(t *testing.T) {
}
func TestEnableLogSanitization(t *testing.T) {
- mockClient := testutil.CreateMockClient(t, NewClient)
+ mockClient := testutil.CreateMockClientWithError(t, NewClient)
mockClient.SetDebug(true)
plainTextToken := "supersecrettoken"
@@ -787,7 +843,7 @@ func TestEnableLogSanitization(t *testing.T) {
"Authorization": []string{"Bearer " + plainTextToken},
}))
- _, err := mockClient.resty.R().Get("https://api.linode.com/v4/test")
+ err := mockClient.doRequest(context.Background(), http.MethodGet, "/test", requestParams{}, nil)
require.NoError(t, err)
logOutput := logBuf.String()
diff --git a/config_test.go b/config_test.go
index b4b3db418..252f496c2 100644
--- a/config_test.go
+++ b/config_test.go
@@ -7,7 +7,7 @@ import (
)
func TestConfig_LoadWithDefaults(t *testing.T) {
- client := NewClient(nil)
+ client := newTestClient(t, nil)
file := createTestConfig(t, configLoadWithDefault)
@@ -42,17 +42,17 @@ func TestConfig_LoadWithDefaults(t *testing.T) {
expectedURL := "https://api.cool.linode.com/v4beta"
- if client.resty.BaseURL != expectedURL {
- t.Fatalf("mismatched host url: %s != %s", client.resty.BaseURL, expectedURL)
+ if client.hostURL != expectedURL {
+ t.Fatalf("mismatched host url: %s != %s", client.hostURL, expectedURL)
}
- if client.resty.Header.Get("Authorization") != "Bearer "+p.APIToken {
+ if client.header.Get("Authorization") != "Bearer "+p.APIToken {
t.Fatalf("token not found in auth header: %s", p.APIToken)
}
}
func TestConfig_OverrideDefaults(t *testing.T) {
- client := NewClient(nil)
+ client := newTestClient(t, nil)
file := createTestConfig(t, configOverrideDefaults)
@@ -88,17 +88,17 @@ func TestConfig_OverrideDefaults(t *testing.T) {
expectedURL := "https://api.cool.linode.com/v4"
- if client.resty.BaseURL != expectedURL {
- t.Fatalf("mismatched host url: %s != %s", client.resty.BaseURL, expectedURL)
+ if client.hostURL != expectedURL {
+ t.Fatalf("mismatched host url: %s != %s", client.hostURL, expectedURL)
}
- if client.resty.Header.Get("Authorization") != "Bearer "+p.APIToken {
+ if client.header.Get("Authorization") != "Bearer "+p.APIToken {
t.Fatalf("token not found in auth header: %s", p.APIToken)
}
}
func TestConfig_NoDefaults(t *testing.T) {
- client := NewClient(nil)
+ client := newTestClient(t, nil)
file := createTestConfig(t, configNoDefaults)
@@ -124,7 +124,7 @@ func TestConfig_NoDefaults(t *testing.T) {
t.Fatalf("mismatched api token: %s != %s", p.APIToken, "mytoken")
}
- if client.resty.Header.Get("Authorization") != "Bearer "+p.APIToken {
+ if client.header.Get("Authorization") != "Bearer "+p.APIToken {
t.Fatalf("token not found in auth header: %s", p.APIToken)
}
}
diff --git a/databases.go b/databases.go
index ead5317eb..ba98ce6d5 100644
--- a/databases.go
+++ b/databases.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
type (
@@ -90,7 +90,7 @@ type Database struct {
Updated *time.Time `json:"-"`
OldestRestoreTime *time.Time `json:"-"`
- PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitempty"`
+ PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitzero"`
}
// DatabaseHost for Primary/Secondary of Database
@@ -119,7 +119,7 @@ type DatabaseMaintenanceWindow struct {
Frequency DatabaseMaintenanceFrequency `json:"frequency"`
HourOfDay int `json:"hour_of_day"`
- Pending []DatabaseMaintenanceWindowPending `json:"pending,omitempty"`
+ Pending []DatabaseMaintenanceWindowPending `json:"pending,omitzero"`
}
type DatabaseMaintenanceWindowPending struct {
@@ -161,7 +161,7 @@ type ClusterPrice struct {
// DatabaseFork describes the source and restore time for the fork for forked DBs
type DatabaseFork struct {
Source int `json:"source"`
- RestoreTime *time.Time `json:"-,omitempty"`
+ RestoreTime *time.Time `json:"-,omitzero"`
}
func (d *Database) UnmarshalJSON(b []byte) error {
diff --git a/docs/linode_v2_migration_guide.md b/docs/linode_v2_migration_guide.md
new file mode 100644
index 000000000..b2bb917bf
--- /dev/null
+++ b/docs/linode_v2_migration_guide.md
@@ -0,0 +1,270 @@
+# Migration guide
+
+## 1\. Update imports
+
+linodego v2 uses a Go major-version module path.
+
+Change all imports from:
+
+```go
+import "github.com/linode/linodego"
+```
+
+to:
+
+```go
+import "github.com/linode/linodego/v2"
+```
+
+Also update your module dependencies:
+
+```shell
+go get github.com/linode/linodego/v2
+go mod tidy
+```
+
+## 2\. Handle NewClient errors
+
+NewClient changed from returning only a Client to returning (Client, error).
+
+### NewClient in linodego v1
+
+```go
+linodeClient := linodego.NewClient(oauth2Client)
+```
+
+### NewClient in linodego v2
+
+```go
+linodeClient, err := linodego.NewClient(oauth2Client)
+if err != nil {
+ return err
+}
+```
+
+Every call site must now handle an initialization error.
+
+## 3\. Replace removed deprecated APIs, aliases, and compatibility types
+
+linodego v2 removes many deprecated fields, methods, aliases, and compatibility wrappers.
+
+Confirmed removals include:
+
+- MarkEventRead
+- ActionVolumeDelte
+- ActionCreateCardUpdated
+- AccountMaintenance.When
+- Domain.Group
+- LinodeKernel.XEN
+- MonitorAlertDefinition
+- CapabilityObjectStorageRegions
+- MutateInstance
+- LKEClusterDashboard
+- GetLKEClusterDashboard
+- ObjectStorageCluster
+- ListObjectStorageClusters
+- GetObjectStorageCluster
+- legacy paged response compatibility types
+- deprecated LKE cluster pool compatibility aliases and methods
+
+If your code still references any of these, it must be updated before moving to v2.
+
+Common replacements include:
+
+- MarkEventRead → MarkEventsSeen
+- ActionVolumeDelte → ActionVolumeDelete
+- ActionCreateCardUpdated → ActionCreditCardUpdated
+- MutateInstance → UpgradeInstance
+- LKEClusterPool\* → LKENodePool\*
+
+## 4\. Replace removed preview/temporary V2 compatibility APIs
+
+Some preview or temporary V2\-suffixed APIs and types were removed in linodego v2.
+
+**Migration rule:** in these areas, the old V2 forms were removed and the supported v2 surface now uses the original non-V2 names. In some cases this is effectively the same V2 behavior under the old name; in others, there are also related parameter, field-shape, or surrounding API changes.
+If you were already using the V2 form in v1, migrate to the corresponding supported non-V2 name in v2 and review any nearby type or behavior changes.
+
+Affected removed V2 preview/temporary compatibility APIs and types include:
+
+- GetInstanceTransferMonthlyV2
+- MonthlyInstanceTransferStatsV2
+- ObjectStorageBucketCertV2
+- UploadObjectStorageBucketCertV2
+- GetObjectStorageBucketCertV2
+- ObjectStorageObjectACLConfigV2
+- GetObjectStorageObjectACLConfigV2
+- UpdateObjectStorageObjectACLConfigV2
+- IPAddressUpdateOptionsV2
+- UpdateIPAddressV2
+
+## 5\. Update methods that now take options structs
+
+Many public methods that previously accepted individual primitive parameters for request bodies now take a single typed **options struct** instead.
+
+In practice, request-body attributes are now generally grouped into dedicated ...Options structs and passed as one argument.
+
+This affects a range of APIs, including:
+
+- instance actions
+- disk operations
+- IP operations
+- snapshot creation
+- and similar endpoints
+
+Migration approach:
+
+- find compile errors
+- identify the corresponding ...Options type
+- move the request-body values into that struct
+- pass the struct instead of separate primitive values
+
+This is mostly a mechanical migration.
+
+### Notable exception
+
+One breaking change goes in the opposite direction:
+
+- CloneInstanceDisk(ctx, linodeID, diskID, opts InstanceDiskCloneOptions)
+- became
+- CloneInstanceDisk(ctx, linodeID, diskID)
+
+So if you call CloneInstanceDisk, remove the now-deleted options argument.
+
+## 6\. Migrate firewall APIs
+
+The firewall API had substantial type cleanup.
+
+### Type renames and splits
+
+- FirewallRuleSet → FirewallRules
+- RuleSet → FirewallRuleSet
+
+FirewallRule was split differently depending on which API you are using.
+
+### If you use /firewalls APIs
+
+Replace:
+
+- FirewallRuleSet → FirewallRules
+- FirewallRule → FirewallRuleInbound / FirewallRuleOutbound
+
+Also update create/update payload types to:
+
+- FirewallRulesCreateOptions
+- FirewallRulesUpdateOptions
+
+### If you use /firewalls/rulesets APIs
+
+Replace:
+
+- RuleSet → FirewallRuleSet
+- FirewallRule → FirewallRuleSetRule
+- RuleSetCreateOptions → FirewallRuleSetCreateOptions
+- RuleSetUpdateOptions → FirewallRuleSetUpdateOptions
+
+Also note:
+
+- FirewallRuleSetRule no longer includes description
+- FirewallRuleSetRule no longer includes ruleset
+
+### Additional firewall migration note
+
+Also update any code that assumes:
+
+- FirewallDeviceEntity.Label is string instead of \*string
+
+## 7\. Migrate Object Storage APIs to region-based usage
+
+Object Storage APIs were standardized around **regions** instead of older cluster-oriented naming.
+
+Key changes:
+
+- stop using ObjectStorageBucket.Cluster
+- use region IDs in bucket/object/cert/ACL calls
+- replace ListObjectStorageBucketsInCluster with ListObjectStorageBucketsInRegion
+- remove usage of deleted ObjectStorageCluster APIs
+- GetObjectStorageBucketAccess now returns the newer access shape directly, so no separate V2 access type is needed
+- UpdateObjectStorageBucketAccess now uses PUT
+- ModifyObjectStorageBucketAccess was added as a separate POST
+
+Also note that preview/temporary V2 Object Storage compatibility APIs were removed; use the supported non-V2 names in v2.
+
+## 8\. Migrate IP update APIs
+
+Confirmed changes include:
+
+- IPAddressUpdateOptions is now the main IP update type
+- old split between original and V2 preview/temporary update option types removed
+- instance IP collection types changed from pointer element slices to value element slices in some responses
+
+If you were using preview/temporary IP update V2 APIs in v1, switch to the supported non-V2 names in v2.
+
+## 9\. Remove Resty-specific assumptions
+
+The client internals were migrated from Resty to net/http.
+
+Observable changes for advanced users:
+
+- Request now maps to http.Request
+- Response now maps to http.Response
+- Logger is now a local interface, not Resty’s logger
+- OnBeforeRequest / OnAfterResponse now use \*http.Request / \*http.Response
+
+If your code used Resty-specific fields or methods in callbacks, rewrite those hook implementations against net/http.
+
+## 10\. Update region capability usages if needed
+
+In regions.go, region capability constants changed from plain string constants to the custom RegionCapability type.
+
+In many places this will work transparently, but code that relies on untyped string constant behavior may need small adjustments where exact types matter.
+
+## 11\. Audit request/response type shape changes
+
+A broad pattern in v2 is cleanup of pointer-heavy request/response types.
+
+Common examples include:
+
+- \[\]\*T → \[\]T
+- \*\[\]string → \[\]string
+- some string fields becoming pointers where nullable semantics are needed
+- split create/update types for request payloads
+
+Review any code that depends on:
+
+- nil checks
+- pointer identity
+- distinguishing “unset” from “empty”
+- mutation of shared slices
+
+## 12\. Validate request payload behavior
+
+A large number of JSON tags changed from omitempty to omitzero.
+
+If your application depends on subtle update semantics such as “clear vs omit”, run integration tests against affected APIs before rollout.
+
+## 13\. Review retry, logging, and error handling integrations
+
+The retry, logging, and error handling layers changed along with the HTTP client rewrite.
+
+Confirmed changes include:
+
+- retry condition callback types now use \*http.Response
+- retry-after callback types now use \*http.Response
+- retry helper names are now exported/capitalized
+- logger behavior is no longer tied to Resty
+- error handling is now centered around http.Response instead of Resty responses
+
+If your code directly integrates with retry helpers, logging hooks, or response-backed errors, review those call sites carefully.
+
+## 14\. Suggested upgrade workflow
+
+1. Update imports to /v2
+2. Run go get and go mod tidy
+3. Fix NewClient call sites
+4. Fix compile errors from removed deprecated APIs and aliases
+5. Fix usages of removed preview/temporary V2 compatibility APIs by switching to the supported non-V2 names
+6. Fix methods that now take typed options structs
+7. Fix firewall and object-storage type changes
+8. Fix request hook code that assumed Resty types
+9. Review any code depending on region capability constants as plain strings
+10. Run integration tests, especially around update payloads and object/firewall APIs
\ No newline at end of file
diff --git a/domain_records.go b/domain_records.go
index 2d8865e66..d76062e4d 100644
--- a/domain_records.go
+++ b/domain_records.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// DomainRecord represents a DomainRecord object
@@ -30,27 +30,27 @@ type DomainRecordCreateOptions struct {
Type DomainRecordType `json:"type"`
Name string `json:"name"`
Target string `json:"target"`
- Priority *int `json:"priority,omitempty"`
- Weight *int `json:"weight,omitempty"`
- Port *int `json:"port,omitempty"`
- Service *string `json:"service,omitempty"`
- Protocol *string `json:"protocol,omitempty"`
- TTLSec int `json:"ttl_sec,omitempty"` // 0 is not accepted by Linode, so can be omitted
- Tag *string `json:"tag,omitempty"`
+ Priority *int `json:"priority,omitzero"`
+ Weight *int `json:"weight,omitzero"`
+ Port *int `json:"port,omitzero"`
+ Service *string `json:"service,omitzero"`
+ Protocol *string `json:"protocol,omitzero"`
+ TTLSec int `json:"ttl_sec,omitzero"` // 0 is not accepted by Linode, so can be omitted
+ Tag *string `json:"tag,omitzero"`
}
// DomainRecordUpdateOptions fields are those accepted by UpdateDomainRecord
type DomainRecordUpdateOptions struct {
- Type DomainRecordType `json:"type,omitempty"`
- Name string `json:"name,omitempty"`
- Target string `json:"target,omitempty"`
- Priority *int `json:"priority,omitempty"` // 0 is valid, so omit only nil values
- Weight *int `json:"weight,omitempty"` // 0 is valid, so omit only nil values
- Port *int `json:"port,omitempty"` // 0 is valid to spec, so omit only nil values
- Service *string `json:"service,omitempty"`
- Protocol *string `json:"protocol,omitempty"`
- TTLSec int `json:"ttl_sec,omitempty"` // 0 is not accepted by Linode, so can be omitted
- Tag *string `json:"tag,omitempty"`
+ Type DomainRecordType `json:"type,omitzero"`
+ Name string `json:"name,omitzero"`
+ Target string `json:"target,omitzero"`
+ Priority *int `json:"priority,omitzero"` // 0 is valid, so omit only nil values
+ Weight *int `json:"weight,omitzero"` // 0 is valid, so omit only nil values
+ Port *int `json:"port,omitzero"` // 0 is valid to spec, so omit only nil values
+ Service *string `json:"service,omitzero"`
+ Protocol *string `json:"protocol,omitzero"`
+ TTLSec int `json:"ttl_sec,omitzero"` // 0 is not accepted by Linode, so can be omitted
+ Tag *string `json:"tag,omitzero"`
}
// DomainRecordType constants start with RecordType and include Linode API Domain Record Types
diff --git a/domains.go b/domains.go
index 4f2f2179b..9ca0e1e69 100644
--- a/domains.go
+++ b/domains.go
@@ -15,9 +15,6 @@ type Domain struct {
// If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave).
Type DomainType `json:"type"` // Enum:"master" "slave"
- // Deprecated: The group this Domain belongs to. This is for display purposes only.
- Group string `json:"group"`
-
// Used to control whether this Domain is currently being rendered.
Status DomainStatus `json:"status"` // Enum:"disabled" "active" "edit_mode" "has_errors"
@@ -64,22 +61,19 @@ type DomainCreateOptions struct {
// Enum:"master" "slave"
Type DomainType `json:"type"`
- // Deprecated: The group this Domain belongs to. This is for display purposes only.
- Group string `json:"group,omitempty"`
-
// Used to control whether this Domain is currently being rendered.
// Enum:"disabled" "active" "edit_mode" "has_errors"
- Status DomainStatus `json:"status,omitempty"`
+ Status DomainStatus `json:"status,omitzero"`
// A description for this Domain. This is for display purposes only.
- Description string `json:"description,omitempty"`
+ Description string `json:"description,omitzero"`
// Start of Authority email address. This is required for master Domains.
- SOAEmail string `json:"soa_email,omitempty"`
+ SOAEmail string `json:"soa_email,omitzero"`
// The interval, in seconds, at which a failed refresh should be retried.
// Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
- RetrySec int `json:"retry_sec,omitempty"`
+ RetrySec int `json:"retry_sec,omitzero"`
// The IP addresses representing the master DNS for this Domain.
MasterIPs []string `json:"master_ips"`
@@ -91,40 +85,37 @@ type DomainCreateOptions struct {
Tags []string `json:"tags"`
// The amount of time in seconds that may pass before this Domain is no longer authoritative. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
- ExpireSec int `json:"expire_sec,omitempty"`
+ ExpireSec int `json:"expire_sec,omitzero"`
// The amount of time in seconds before this Domain should be refreshed. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
- RefreshSec int `json:"refresh_sec,omitempty"`
+ RefreshSec int `json:"refresh_sec,omitzero"`
// "Time to Live" - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
- TTLSec int `json:"ttl_sec,omitempty"`
+ TTLSec int `json:"ttl_sec,omitzero"`
}
// DomainUpdateOptions converts a Domain to DomainUpdateOptions for use in UpdateDomain
type DomainUpdateOptions struct {
// The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain.
- Domain string `json:"domain,omitempty"`
+ Domain string `json:"domain,omitzero"`
// If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave).
// Enum:"master" "slave"
- Type DomainType `json:"type,omitempty"`
-
- // Deprecated: The group this Domain belongs to. This is for display purposes only.
- Group string `json:"group,omitempty"`
+ Type DomainType `json:"type,omitzero"`
// Used to control whether this Domain is currently being rendered.
// Enum:"disabled" "active" "edit_mode" "has_errors"
- Status DomainStatus `json:"status,omitempty"`
+ Status DomainStatus `json:"status,omitzero"`
// A description for this Domain. This is for display purposes only.
- Description string `json:"description,omitempty"`
+ Description string `json:"description,omitzero"`
// Start of Authority email address. This is required for master Domains.
- SOAEmail string `json:"soa_email,omitempty"`
+ SOAEmail string `json:"soa_email,omitzero"`
// The interval, in seconds, at which a failed refresh should be retried.
// Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
- RetrySec int `json:"retry_sec,omitempty"`
+ RetrySec int `json:"retry_sec,omitzero"`
// The IP addresses representing the master DNS for this Domain.
MasterIPs []string `json:"master_ips"`
@@ -136,13 +127,13 @@ type DomainUpdateOptions struct {
Tags []string `json:"tags"`
// The amount of time in seconds that may pass before this Domain is no longer authoritative. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
- ExpireSec int `json:"expire_sec,omitempty"`
+ ExpireSec int `json:"expire_sec,omitzero"`
// The amount of time in seconds before this Domain should be refreshed. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
- RefreshSec int `json:"refresh_sec,omitempty"`
+ RefreshSec int `json:"refresh_sec,omitzero"`
// "Time to Live" - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
- TTLSec int `json:"ttl_sec,omitempty"`
+ TTLSec int `json:"ttl_sec,omitzero"`
}
// DomainType constants start with DomainType and include Linode API Domain Type values
@@ -178,7 +169,6 @@ type DomainImportOptions struct {
func (d Domain) GetUpdateOptions() (du DomainUpdateOptions) {
du.Domain = d.Domain
du.Type = d.Type
- du.Group = d.Group
du.Status = d.Status
du.Description = d.Description
du.SOAEmail = d.SOAEmail
diff --git a/errors.go b/errors.go
index 873b40450..db7fc2a34 100644
--- a/errors.go
+++ b/errors.go
@@ -1,7 +1,7 @@
package linodego
import (
- "encoding/json"
+ "bytes"
"errors"
"fmt"
"io"
@@ -9,8 +9,6 @@ import (
"reflect"
"slices"
"strings"
-
- "github.com/go-resty/resty/v2"
)
const (
@@ -49,74 +47,43 @@ type APIError struct {
Errors []APIErrorReason `json:"errors"`
}
-// String returns the error reason in a formatted string
-func (r APIErrorReason) String() string {
- return fmt.Sprintf("[%s] %s", r.Field, r.Reason)
-}
-
-func coupleAPIErrors(r *resty.Response, err error) (*resty.Response, error) {
+//nolint:nestif,unparam
+func coupleAPIErrors(resp *http.Response, err error) (*http.Response, error) {
if err != nil {
- // an error was raised in go code, no need to check the resty Response
return nil, NewError(err)
}
- if r.Error() == nil {
- // no error in the resty Response
- return r, nil
- }
-
- // handle the resty Response errors
-
- // Check that response is of the correct content-type before unmarshalling
- expectedContentType := r.Request.Header.Get("Accept")
- responseContentType := r.Header().Get("Content-Type")
-
- // If the upstream Linode API server being fronted fails to respond to the request,
- // the http server will respond with a default "Bad Gateway" page with Content-Type
- // "text/html".
- if r.StatusCode() == http.StatusBadGateway && responseContentType == "text/html" { //nolint:goconst
- return nil, Error{Code: http.StatusBadGateway, Message: http.StatusText(http.StatusBadGateway)}
- }
-
- if responseContentType != expectedContentType {
- msg := fmt.Sprintf(
- "Unexpected Content-Type: Expected: %v, Received: %v\nResponse body: %s",
- expectedContentType,
- responseContentType,
- string(r.Body()),
- )
-
- return nil, Error{Code: r.StatusCode(), Message: msg}
- }
-
- apiError, ok := r.Error().(*APIError)
- if !ok || (ok && len(apiError.Errors) == 0) {
- return r, nil
+ if resp == nil {
+ return nil, NewError(fmt.Errorf("response is nil"))
}
- return nil, NewError(r)
-}
-
-//nolint:unused
-func coupleAPIErrorsHTTP(resp *http.Response, err error) (*http.Response, error) {
- if err != nil {
- // an error was raised in go code, no need to check the http.Response
- return nil, NewError(err)
- }
-
- if resp == nil || resp.StatusCode < 200 || resp.StatusCode >= 300 {
+ if resp.StatusCode < 200 || resp.StatusCode >= 300 {
// Check that response is of the correct content-type before unmarshalling
- expectedContentType := resp.Request.Header.Get("Accept")
+ expectedContentType := ""
+ if resp.Request != nil && resp.Request.Header != nil {
+ expectedContentType = resp.Request.Header.Get("Accept")
+ }
+
responseContentType := resp.Header.Get("Content-Type")
// If the upstream server fails to respond to the request,
- // the http server will respond with a default error page with Content-Type "text/html".
- if resp.StatusCode == http.StatusBadGateway && responseContentType == "text/html" { //nolint:goconst
- return nil, Error{Code: http.StatusBadGateway, Message: http.StatusText(http.StatusBadGateway)}
+ // the HTTP server will respond with a default error page with Content-Type "text/html".
+ if resp.StatusCode == http.StatusBadGateway && responseContentType == "text/html" {
+ return nil, &Error{Code: http.StatusBadGateway, Message: http.StatusText(http.StatusBadGateway), Response: resp}
}
if responseContentType != expectedContentType {
- bodyBytes, _ := io.ReadAll(resp.Body)
+ if resp.Body == nil {
+ return nil, NewError(fmt.Errorf("response body is nil"))
+ }
+
+ bodyBytes, readErr := io.ReadAll(resp.Body)
+ if readErr != nil {
+ return nil, NewError(fmt.Errorf("failed to read response body: %w", readErr))
+ }
+
+ resp.Body = io.NopCloser(bytes.NewBuffer(bodyBytes))
+
msg := fmt.Sprintf(
"Unexpected Content-Type: Expected: %v, Received: %v\nResponse body: %s",
expectedContentType,
@@ -124,22 +91,22 @@ func coupleAPIErrorsHTTP(resp *http.Response, err error) (*http.Response, error)
string(bodyBytes),
)
- return nil, Error{Code: resp.StatusCode, Message: msg}
+ return nil, &Error{Code: resp.StatusCode, Message: msg, Response: resp}
}
- var apiError APIError
- if err := json.NewDecoder(resp.Body).Decode(&apiError); err != nil {
- return nil, NewError(fmt.Errorf("failed to decode response body: %w", err))
+ // Must check if there is no list of reasons in the error before making a call to NewError
+ apiError, ok := getAPIError(resp)
+ if !ok {
+ return nil, NewError(fmt.Errorf("failed to decode response body"))
}
if len(apiError.Errors) == 0 {
return resp, nil
}
- return nil, Error{Code: resp.StatusCode, Message: apiError.Errors[0].String()}
+ return nil, NewError(resp)
}
- // no error in the http.Response
return resp, nil
}
@@ -156,7 +123,7 @@ func (e APIError) Error() string {
// - ErrorFromString (1) from a string
// - ErrorFromError (2) for an error
// - ErrorFromStringer (3) for a Stringer
-// - HTTP Status Codes (100-600) for a resty.Response object
+// - HTTP Status Codes (100-600) for a http.Response object
func NewError(err any) *Error {
if err == nil {
return nil
@@ -165,17 +132,17 @@ func NewError(err any) *Error {
switch e := err.(type) {
case *Error:
return e
- case *resty.Response:
- apiError, ok := e.Error().(*APIError)
+ case *http.Response:
+ apiError, ok := getAPIError(e)
if !ok {
- return &Error{Code: ErrorUnsupported, Message: "Unexpected Resty Error Response, no error"}
+ return &Error{Code: ErrorUnsupported, Message: "Unexpected HTTP Error Response, no error"}
}
return &Error{
- Code: e.RawResponse.StatusCode,
+ Code: e.StatusCode,
Message: apiError.Error(),
- Response: e.RawResponse,
+ Response: e,
}
case error:
return &Error{Code: ErrorFromError, Message: e.Error()}
diff --git a/errors_test.go b/errors_test.go
index 68428fcd6..429670100 100644
--- a/errors_test.go
+++ b/errors_test.go
@@ -9,9 +9,10 @@ import (
"io"
"net/http"
"net/http/httptest"
+ "strconv"
+ "strings"
"testing"
- "github.com/go-resty/resty/v2"
"github.com/google/go-cmp/cmp"
)
@@ -27,10 +28,10 @@ func (e testError) Error() string {
return string(e)
}
-func restyError(reason, field string) *resty.Response {
+func httpError(reason, field string) *http.Response {
var reasons []APIErrorReason
- // allow for an empty reasons
+ // Allow for an empty reasons
if reason != "" && field != "" {
reasons = append(reasons, APIErrorReason{
Reason: reason,
@@ -38,15 +39,18 @@ func restyError(reason, field string) *resty.Response {
})
}
- return &resty.Response{
- RawResponse: &http.Response{
- StatusCode: 500,
- },
- Request: &resty.Request{
- Error: &APIError{
- Errors: reasons,
- },
- },
+ apiError := &APIError{
+ Errors: reasons,
+ }
+
+ body, err := json.Marshal(apiError)
+ if err != nil {
+ panic("Failed to marshal APIError")
+ }
+
+ return &http.Response{
+ StatusCode: 500,
+ Body: io.NopCloser(bytes.NewReader(body)),
}
}
@@ -73,12 +77,12 @@ func TestNewError(t *testing.T) {
t.Error("Error should be itself")
}
- if err := NewError(&resty.Response{Request: &resty.Request{}}); err.Message != "Unexpected Resty Error Response, no error" {
- t.Error("Unexpected Resty Error Response, no error")
+ if err := NewError(&http.Response{Request: &http.Request{}}); err.Message != "Unexpected HTTP Error Response, no error" {
+ t.Error("Unexpected HTTP Error Response, no error")
}
- if err := NewError(restyError("testreason", "testfield")); err.Message != "[testfield] testreason" {
- t.Error("rest response error should should be set")
+ if err := NewError(httpError("testreason", "testfield")); err.Message != "[testfield] testreason" {
+ t.Error("http response error should should be set")
}
if err := NewError("stringerror"); err.Message != "stringerror" || err.Code != ErrorFromString {
@@ -94,7 +98,9 @@ func TestNewError(t *testing.T) {
}
}
-func createTestServer(method, route, contentType, body string, statusCode int) (*httptest.Server, *Client) {
+func createTestServer(t *testing.T, method, route, contentType, body string, statusCode int) (*httptest.Server, *Client) {
+ t.Helper()
+
h := http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
if r.Method == method && r.URL.Path == route {
rw.Header().Add("Content-Type", contentType)
@@ -106,7 +112,7 @@ func createTestServer(method, route, contentType, body string, statusCode int) (
})
ts := httptest.NewServer(h)
- client := NewClient(nil)
+ client := newTestClient(t, nil)
client.SetBaseURL(ts.URL)
return ts, &client
}
@@ -119,98 +125,6 @@ func TestCoupleAPIErrors(t *testing.T) {
}
})
- t.Run("resty 500 response error with reasons", func(t *testing.T) {
- if _, err := coupleAPIErrors(restyError("testreason", "testfield"), nil); err.Error() != "[500] [testfield] testreason" {
- t.Error("resty error should return with proper format [code] [field] reason")
- }
- })
-
- t.Run("resty 500 response error without reasons", func(t *testing.T) {
- if _, err := coupleAPIErrors(restyError("", ""), nil); err != nil {
- t.Error("resty error with no reasons should return no error")
- }
- })
-
- t.Run("resty response with nil error", func(t *testing.T) {
- emptyErr := &resty.Response{
- RawResponse: &http.Response{
- StatusCode: 500,
- },
- Request: &resty.Request{
- Error: nil,
- },
- }
- if _, err := coupleAPIErrors(emptyErr, nil); err != nil {
- t.Error("resty error with no reasons should return no error")
- }
- })
-
- t.Run("generic html error", func(t *testing.T) {
- rawResponse := `
-
500 Internal Server Error
-
-500 Internal Server Error
-
nginx
-
-`
- route := "/v4/linode/instances/123"
- ts, client := createTestServer(http.MethodGet, route, "text/html", rawResponse, http.StatusInternalServerError)
- // client.SetDebug(true)
- defer ts.Close()
-
- expectedError := Error{
- Code: http.StatusInternalServerError,
- Message: "Unexpected Content-Type: Expected: application/json, Received: text/html\nResponse body: " + rawResponse,
- }
-
- _, err := coupleAPIErrors(client.R(context.Background()).SetResult(&Instance{}).Get(ts.URL + route))
- if diff := cmp.Diff(expectedError, err); diff != "" {
- t.Errorf("expected error to match but got diff:\n%s", diff)
- }
- })
-
- t.Run("bad gateway error", func(t *testing.T) {
- rawResponse := []byte(`
-502 Bad Gateway
-
-502 Bad Gateway
-
nginx
-
-`)
- buf := io.NopCloser(bytes.NewBuffer(rawResponse))
-
- resp := &resty.Response{
- Request: &resty.Request{
- Error: errors.New("Bad Gateway"),
- },
- RawResponse: &http.Response{
- Header: http.Header{
- "Content-Type": []string{"text/html"},
- },
- StatusCode: http.StatusBadGateway,
- Body: buf,
- },
- }
-
- expectedError := Error{
- Code: http.StatusBadGateway,
- Message: http.StatusText(http.StatusBadGateway),
- }
-
- if _, err := coupleAPIErrors(resp, nil); !cmp.Equal(err, expectedError) {
- t.Errorf("expected error %#v to match error %#v", err, expectedError)
- }
- })
-}
-
-func TestCoupleAPIErrorsHTTP(t *testing.T) {
- t.Run("not nil error generates error", func(t *testing.T) {
- err := errors.New("test")
- if _, err := coupleAPIErrorsHTTP(nil, err); !cmp.Equal(err, NewError(err)) {
- t.Errorf("expect a not nil error to be returned as an Error")
- }
- })
-
t.Run("http 500 response error with reasons", func(t *testing.T) {
// Create the simulated HTTP response with a 500 status and a JSON body containing the error details
apiError := APIError{
@@ -228,7 +142,7 @@ func TestCoupleAPIErrorsHTTP(t *testing.T) {
Request: &http.Request{Header: http.Header{"Accept": []string{"application/json"}}},
}
- _, err := coupleAPIErrorsHTTP(resp, nil)
+ _, err := coupleAPIErrors(resp, nil)
expectedMessage := "[500] [testfield] testreason"
if err == nil || err.Error() != expectedMessage {
t.Errorf("expected error message %q, got: %v", expectedMessage, err)
@@ -250,7 +164,7 @@ func TestCoupleAPIErrorsHTTP(t *testing.T) {
Request: &http.Request{Header: http.Header{"Accept": []string{"application/json"}}},
}
- _, err := coupleAPIErrorsHTTP(resp, nil)
+ _, err := coupleAPIErrors(resp, nil)
if err != nil {
t.Error("http error with no reasons should return no error")
}
@@ -265,7 +179,7 @@ func TestCoupleAPIErrorsHTTP(t *testing.T) {
Request: &http.Request{Header: http.Header{"Accept": []string{"application/json"}}},
}
- _, err := coupleAPIErrorsHTTP(resp, nil)
+ _, err := coupleAPIErrors(resp, nil)
if err != nil {
t.Error("http error with no reasons should return no error")
}
@@ -288,15 +202,10 @@ func TestCoupleAPIErrorsHTTP(t *testing.T) {
}))
defer ts.Close()
- client := &httpClient{
+ client := &Client{
httpClient: ts.Client(),
}
- expectedError := Error{
- Code: http.StatusInternalServerError,
- Message: "Unexpected Content-Type: Expected: application/json, Received: text/html\nResponse body: " + rawResponse,
- }
-
req, err := http.NewRequestWithContext(context.Background(), http.MethodGet, ts.URL+route, nil)
if err != nil {
t.Fatalf("failed to create request: %v", err)
@@ -308,11 +217,23 @@ func TestCoupleAPIErrorsHTTP(t *testing.T) {
if err != nil {
t.Fatalf("failed to send request: %v", err)
}
+
+ expectedError := &Error{
+ Response: resp,
+ Code: http.StatusInternalServerError,
+ Message: "Unexpected Content-Type: Expected: application/json, Received: text/html\nResponse body: " + rawResponse,
+ }
+
defer resp.Body.Close()
- _, err = coupleAPIErrorsHTTP(resp, nil)
- if diff := cmp.Diff(expectedError, err); diff != "" {
- t.Errorf("expected error to match but got diff:\n%s", diff)
+ _, err = coupleAPIErrors(resp, nil)
+
+ if !strings.Contains(err.Error(), strconv.Itoa(expectedError.Code)) {
+ t.Errorf("expected error code %d, got %d", expectedError.Code, resp.StatusCode)
+ }
+
+ if !strings.Contains(err.Error(), expectedError.Message) {
+ t.Errorf("expected error message %s, got %s", expectedError.Message, err.Error())
}
})
@@ -337,14 +258,19 @@ func TestCoupleAPIErrorsHTTP(t *testing.T) {
},
}
- expectedError := Error{
- Code: http.StatusBadGateway,
- Message: http.StatusText(http.StatusBadGateway),
+ expectedError := &Error{
+ Response: resp,
+ Code: http.StatusBadGateway,
+ Message: http.StatusText(http.StatusBadGateway),
+ }
+
+ _, err := coupleAPIErrors(resp, nil)
+ if !strings.Contains(err.Error(), strconv.Itoa(expectedError.Code)) {
+ t.Errorf("expected error code %d, got %d", expectedError.Code, resp.StatusCode)
}
- _, err := coupleAPIErrorsHTTP(resp, nil)
- if !cmp.Equal(err, expectedError) {
- t.Errorf("expected error %#v to match error %#v", err, expectedError)
+ if !strings.Contains(err.Error(), expectedError.Message) {
+ t.Errorf("expected error message %s, got %s", expectedError.Message, err.Error())
}
})
}
@@ -382,26 +308,26 @@ func TestErrorIs(t *testing.T) {
expectedResult: true,
},
{
- testName: "default and Error from empty resty error",
- err1: NewError(restyError("", "")),
+ testName: "default and Error from empty http error",
+ err1: NewError(httpError("", "")),
err2: defaultError,
expectedResult: true,
},
{
- testName: "default and Error from resty error with field",
- err1: NewError(restyError("", "test field")),
+ testName: "default and Error from http error with field",
+ err1: NewError(httpError("", "test field")),
err2: defaultError,
expectedResult: true,
},
{
- testName: "default and Error from resty error with field and reason",
- err1: NewError(restyError("test reason", "test field")),
+ testName: "default and Error from http error with field and reason",
+ err1: NewError(httpError("test reason", "test field")),
err2: defaultError,
expectedResult: true,
},
{
- testName: "default and Error from resty error with reason",
- err1: NewError(restyError("test reason", "")),
+ testName: "default and Error from http error with reason",
+ err1: NewError(httpError("test reason", "")),
err2: defaultError,
expectedResult: true,
},
diff --git a/firewall_devices.go b/firewall_devices.go
index 93ce2220c..e7b54e9dd 100644
--- a/firewall_devices.go
+++ b/firewall_devices.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// FirewallDeviceType represents the different kinds of devices governable by a Firewall
@@ -59,7 +59,7 @@ func (device *FirewallDevice) UnmarshalJSON(b []byte) error {
type FirewallDeviceEntity struct {
ID int `json:"id"`
Type FirewallDeviceType `json:"type"`
- Label string `json:"label"`
+ Label *string `json:"label"`
URL string `json:"url"`
ParentEntity *FirewallDeviceEntity `json:"parent_entity"`
}
diff --git a/firewall_rules.go b/firewall_rules.go
index b394ed1f0..c917549f7 100644
--- a/firewall_rules.go
+++ b/firewall_rules.go
@@ -18,31 +18,42 @@ const (
// NetworkAddresses are arrays of ipv4 and v6 addresses
type NetworkAddresses struct {
- IPv4 *[]string `json:"ipv4,omitempty"`
- IPv6 *[]string `json:"ipv6,omitempty"`
+ IPv4 []string `json:"ipv4,omitzero"`
+ IPv6 []string `json:"ipv6,omitzero"`
}
-// A FirewallRule is a whitelist of ports, protocols, and addresses for which traffic should be allowed.
-// The ipv4/ipv6 address lists may contain Prefix List tokens (for example, "pl::..." or "pl:system:...")
-// in addition to literal IP addresses.
-type FirewallRule struct {
+type FirewallRuleInbound struct {
Action string `json:"action"`
Label string `json:"label"`
- Description string `json:"description,omitempty"`
- Ports string `json:"ports,omitempty"`
+ Description string `json:"description,omitzero"`
+ Ports string `json:"ports,omitzero"`
Protocol NetworkProtocol `json:"protocol"`
Addresses NetworkAddresses `json:"addresses"`
- // FirewallRule references one `Rule Set` by ID. When provided, this entry
+ // FirewallRuleInbound references one `Rule Set` by ID. When provided, this entry
// represents a reference and should be mutually exclusive with ordinary
// rule fields according to the API contract.
- RuleSet int `json:"ruleset,omitempty"`
+ RuleSet int `json:"ruleset,omitzero"`
}
-// MarshalJSON ensures that when a rule references a Rule Set (RuleSet != 0),
+type FirewallRuleOutbound struct {
+ Action string `json:"action"`
+ Label string `json:"label"`
+ Description string `json:"description,omitzero"`
+ Ports string `json:"ports,omitzero"`
+ Protocol NetworkProtocol `json:"protocol"`
+ Addresses NetworkAddresses `json:"addresses"`
+
+ // FirewallRuleOutbound references one `Rule Set` by ID. When provided, this entry
+ // represents a reference and should be mutually exclusive with ordinary
+ // rule fields according to the API contract.
+ RuleSet int `json:"ruleset,omitzero"`
+}
+
+// MarshalJSON ensures that when a rule references a Rule Set (FirewallRuleSet != 0),
// only the reference shape { "ruleset": } is emitted. Otherwise, the
// ordinary rule fields are emitted without the ruleset key.
-func (r FirewallRule) MarshalJSON() ([]byte, error) {
+func (r FirewallRuleInbound) MarshalJSON() ([]byte, error) {
if r.RuleSet != 0 {
type rulesetOnly struct {
RuleSet int `json:"ruleset"`
@@ -54,8 +65,8 @@ func (r FirewallRule) MarshalJSON() ([]byte, error) {
type normal struct {
Action string `json:"action"`
Label string `json:"label"`
- Description string `json:"description,omitempty"`
- Ports string `json:"ports,omitempty"`
+ Description string `json:"description,omitzero"`
+ Ports string `json:"ports,omitzero"`
Protocol NetworkProtocol `json:"protocol"`
Addresses NetworkAddresses `json:"addresses"`
}
@@ -70,34 +81,67 @@ func (r FirewallRule) MarshalJSON() ([]byte, error) {
})
}
-// FirewallRuleSet is a pair of inbound and outbound rules that specify what network traffic should be allowed.
-type FirewallRuleSet struct {
- Inbound []FirewallRule `json:"inbound"`
- InboundPolicy string `json:"inbound_policy"`
- Outbound []FirewallRule `json:"outbound"`
- OutboundPolicy string `json:"outbound_policy"`
-
- // TODO: separate request and response types in linodego v2
- // read-only, can't be used in creating or updating a Firewall
- Version int `json:"version,omitempty"`
- // read-only, can't be used in creating or updating a Firewall
- Fingerprint string `json:"fingerprint,omitempty"`
+// MarshalJSON ensures that when a rule references a Rule Set (FirewallRuleSet != 0),
+// only the reference shape { "ruleset": } is emitted. Otherwise, the
+// ordinary rule fields are emitted without the ruleset key.
+func (r FirewallRuleOutbound) MarshalJSON() ([]byte, error) {
+ if r.RuleSet != 0 {
+ type rulesetOnly struct {
+ RuleSet int `json:"ruleset"`
+ }
+
+ return json.Marshal(rulesetOnly{RuleSet: r.RuleSet})
+ }
+
+ type normal struct {
+ Action string `json:"action"`
+ Label string `json:"label"`
+ Description string `json:"description,omitzero"`
+ Ports string `json:"ports,omitzero"`
+ Protocol NetworkProtocol `json:"protocol"`
+ Addresses NetworkAddresses `json:"addresses"`
+ }
+
+ return json.Marshal(normal{
+ Action: r.Action,
+ Label: r.Label,
+ Description: r.Description,
+ Ports: r.Ports,
+ Protocol: r.Protocol,
+ Addresses: r.Addresses,
+ })
+}
+
+// FirewallRules is a pair of inbound and outbound rules that specify what network traffic should be allowed.
+type FirewallRules struct {
+ Inbound []FirewallRuleInbound `json:"inbound"`
+ InboundPolicy string `json:"inbound_policy"`
+ Outbound []FirewallRuleOutbound `json:"outbound"`
+ OutboundPolicy string `json:"outbound_policy"`
+ Version int `json:"version,omitzero"`
+ Fingerprint string `json:"fingerprint,omitzero"`
+}
+type FirewallRulesUpdateOptions struct {
+ Inbound []FirewallRuleInbound `json:"inbound"`
+ InboundPolicy string `json:"inbound_policy"`
+ Outbound []FirewallRuleOutbound `json:"outbound"`
+ OutboundPolicy string `json:"outbound_policy"`
}
-// GetFirewallRules gets the FirewallRuleSet for the given Firewall.
-func (c *Client) GetFirewallRules(ctx context.Context, firewallID int) (*FirewallRuleSet, error) {
+// GetFirewallRules gets the FirewallRules for the given Firewall.
+func (c *Client) GetFirewallRules(ctx context.Context, firewallID int) (*FirewallRules, error) {
e := formatAPIPath("networking/firewalls/%d/rules", firewallID)
- return doGETRequest[FirewallRuleSet](ctx, c, e)
+ return doGETRequest[FirewallRules](ctx, c, e)
}
-// GetFirewallRulesExpansion gets the expanded FirewallRuleSet for the given Firewall.
-func (c *Client) GetFirewallRulesExpansion(ctx context.Context, firewallID int) (*FirewallRuleSet, error) {
+// GetFirewallRulesExpansion gets the expanded FirewallRules for the given Firewall.
+func (c *Client) GetFirewallRulesExpansion(ctx context.Context, firewallID int) (*FirewallRules, error) {
e := formatAPIPath("networking/firewalls/%d/rules/expansion", firewallID)
- return doGETRequest[FirewallRuleSet](ctx, c, e)
+ return doGETRequest[FirewallRules](ctx, c, e)
}
-// UpdateFirewallRules updates the FirewallRuleSet for the given Firewall
-func (c *Client) UpdateFirewallRules(ctx context.Context, firewallID int, rules FirewallRuleSet) (*FirewallRuleSet, error) {
+// UpdateFirewallRules updates the FirewallRules for the given Firewall
+func (c *Client) UpdateFirewallRules(ctx context.Context, firewallID int, rules FirewallRulesUpdateOptions) (*FirewallRules, error) {
e := formatAPIPath("networking/firewalls/%d/rules", firewallID)
- return doPUTRequest[FirewallRuleSet](ctx, c, e, rules)
+ return doPUTRequest[FirewallRules](ctx, c, e, rules)
}
diff --git a/firewall_rulesets.go b/firewall_rulesets.go
index c702d3b9b..332de9f7a 100644
--- a/firewall_rulesets.go
+++ b/firewall_rulesets.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// FirewallRuleSetType represents the type of rules a Rule Set contains.
@@ -17,25 +17,54 @@ const (
FirewallRuleSetTypeOutbound FirewallRuleSetType = "outbound"
)
-// RuleSet represents the Rule Set resource.
+// FirewallRuleSet represents the Rule Set resource.
// Note: created/updated/deleted are parsed via UnmarshalJSON into time.Time pointers.
-type RuleSet struct {
- ID int `json:"id"`
- Label string `json:"label"`
- Description string `json:"description,omitempty"`
- Type FirewallRuleSetType `json:"type"`
- Rules []FirewallRule `json:"rules"`
- IsServiceDefined bool `json:"is_service_defined"`
- Version int `json:"version"`
+type FirewallRuleSet struct {
+ ID int `json:"id"`
+ Label string `json:"label"`
+ Description string `json:"description,omitzero"`
+ Type FirewallRuleSetType `json:"type"`
+ Rules []FirewallRuleSetRule `json:"rules"`
+ IsServiceDefined bool `json:"is_service_defined"`
+ Version int `json:"version"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
Deleted *time.Time `json:"-"`
}
-// UnmarshalJSON implements custom timestamp parsing for RuleSet.
-func (r *RuleSet) UnmarshalJSON(b []byte) error {
- type Mask RuleSet
+// A FirewallRuleSetRule is a whitelist of ports, protocols, and addresses for which traffic should be allowed.
+// The ipv4/ipv6 address lists may contain Prefix List tokens (for example, "pl::..." or "pl:system:...")
+// in addition to literal IP addresses.
+type FirewallRuleSetRule struct {
+ Action string `json:"action"`
+ Label string `json:"label"`
+ Ports string `json:"ports,omitzero"`
+ Protocol NetworkProtocol `json:"protocol"`
+ Addresses NetworkAddresses `json:"addresses"`
+}
+
+// FirewallRuleSetRuleCreateOptions fields accepted in Firewall Rule Set create payloads.
+type FirewallRuleSetRuleCreateOptions struct {
+ Action string `json:"action"`
+ Label string `json:"label"`
+ Ports string `json:"ports,omitzero"`
+ Protocol NetworkProtocol `json:"protocol"`
+ Addresses NetworkAddresses `json:"addresses"`
+}
+
+// FirewallRuleSetRuleUpdateOptions fields accepted in Firewall Rule Set update payloads.
+type FirewallRuleSetRuleUpdateOptions struct {
+ Action string `json:"action"`
+ Label string `json:"label"`
+ Ports string `json:"ports,omitzero"`
+ Protocol NetworkProtocol `json:"protocol"`
+ Addresses NetworkAddresses `json:"addresses"`
+}
+
+// UnmarshalJSON implements custom timestamp parsing for FirewallRuleSet.
+func (r *FirewallRuleSet) UnmarshalJSON(b []byte) error {
+ type Mask FirewallRuleSet
aux := struct {
*Mask
@@ -66,44 +95,44 @@ func (r *RuleSet) UnmarshalJSON(b []byte) error {
return nil
}
-// RuleSetCreateOptions fields accepted by CreateRuleSet.
-type RuleSetCreateOptions struct {
- Label string `json:"label"`
- Description string `json:"description,omitempty"`
- Type FirewallRuleSetType `json:"type"`
- Rules []FirewallRule `json:"rules"`
+// FirewallRuleSetCreateOptions fields accepted by CreateRuleSet.
+type FirewallRuleSetCreateOptions struct {
+ Label string `json:"label"`
+ Description string `json:"description,omitzero"`
+ Type FirewallRuleSetType `json:"type"`
+ Rules []FirewallRuleSetRuleCreateOptions `json:"rules"`
}
-// RuleSetUpdateOptions fields accepted by UpdateRuleSet.
+// FirewallRuleSetUpdateOptions fields accepted by UpdateRuleSet.
// Omit a top-level field to leave it unchanged. If Rules is provided, it
// replaces the entire ordered rules array.
-type RuleSetUpdateOptions struct {
- Label *string `json:"label,omitempty"`
- Description *string `json:"description,omitempty"`
- Rules *[]FirewallRule `json:"rules,omitempty"`
+type FirewallRuleSetUpdateOptions struct {
+ Label *string `json:"label,omitzero"`
+ Description *string `json:"description,omitzero"`
+ Rules []FirewallRuleSetRuleUpdateOptions `json:"rules,omitzero"`
}
// ListFirewallRuleSets returns a paginated list of Rule Sets.
// Supports filtering (e.g., by label) via ListOptions.Filter.
-func (c *Client) ListFirewallRuleSets(ctx context.Context, opts *ListOptions) ([]RuleSet, error) {
- return getPaginatedResults[RuleSet](ctx, c, "networking/firewalls/rulesets", opts)
+func (c *Client) ListFirewallRuleSets(ctx context.Context, opts *ListOptions) ([]FirewallRuleSet, error) {
+ return getPaginatedResults[FirewallRuleSet](ctx, c, "networking/firewalls/rulesets", opts)
}
// CreateFirewallRuleSet creates a new Rule Set.
-func (c *Client) CreateFirewallRuleSet(ctx context.Context, opts RuleSetCreateOptions) (*RuleSet, error) {
- return doPOSTRequest[RuleSet](ctx, c, "networking/firewalls/rulesets", opts)
+func (c *Client) CreateFirewallRuleSet(ctx context.Context, opts FirewallRuleSetCreateOptions) (*FirewallRuleSet, error) {
+ return doPOSTRequest[FirewallRuleSet](ctx, c, "networking/firewalls/rulesets", opts)
}
// GetFirewallRuleSet fetches a Rule Set by ID.
-func (c *Client) GetFirewallRuleSet(ctx context.Context, rulesetID int) (*RuleSet, error) {
+func (c *Client) GetFirewallRuleSet(ctx context.Context, rulesetID int) (*FirewallRuleSet, error) {
e := formatAPIPath("networking/firewalls/rulesets/%d", rulesetID)
- return doGETRequest[RuleSet](ctx, c, e)
+ return doGETRequest[FirewallRuleSet](ctx, c, e)
}
// UpdateFirewallRuleSet updates a Rule Set by ID.
-func (c *Client) UpdateFirewallRuleSet(ctx context.Context, rulesetID int, opts RuleSetUpdateOptions) (*RuleSet, error) {
+func (c *Client) UpdateFirewallRuleSet(ctx context.Context, rulesetID int, opts FirewallRuleSetUpdateOptions) (*FirewallRuleSet, error) {
e := formatAPIPath("networking/firewalls/rulesets/%d", rulesetID)
- return doPUTRequest[RuleSet](ctx, c, e, opts)
+ return doPUTRequest[FirewallRuleSet](ctx, c, e, opts)
}
// DeleteFirewallRuleSet deletes a Rule Set by ID.
diff --git a/firewall_templates.go b/firewall_templates.go
index e2f5f6702..d1ba584db 100644
--- a/firewall_templates.go
+++ b/firewall_templates.go
@@ -5,8 +5,8 @@ import (
)
type FirewallTemplate struct {
- Slug string `json:"slug"`
- Rules FirewallRuleSet `json:"rules"`
+ Slug string `json:"slug"`
+ Rules FirewallRules `json:"rules"`
}
// GetFirewallTemplate gets a FirewallTemplate given a slug.
diff --git a/firewalls.go b/firewalls.go
index 1c698e1cc..34d5b547d 100644
--- a/firewalls.go
+++ b/firewalls.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// FirewallStatus enum type
@@ -24,7 +24,7 @@ type Firewall struct {
Label string `json:"label"`
Status FirewallStatus `json:"status"`
Tags []string `json:"tags"`
- Rules FirewallRuleSet `json:"rules"`
+ Rules FirewallRules `json:"rules"`
Entities []FirewallDeviceEntity `json:"entities"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
@@ -32,24 +32,31 @@ type Firewall struct {
// DevicesCreationOptions fields are used when adding devices during the Firewall creation process.
type DevicesCreationOptions struct {
- Linodes []int `json:"linodes,omitempty"`
- NodeBalancers []int `json:"nodebalancers,omitempty"`
- LinodeInterfaces []int `json:"linode_interfaces,omitempty"`
+ Linodes []int `json:"linodes,omitzero"`
+ NodeBalancers []int `json:"nodebalancers,omitzero"`
+ LinodeInterfaces []int `json:"linode_interfaces,omitzero"`
}
// FirewallCreateOptions fields are those accepted by CreateFirewall
type FirewallCreateOptions struct {
- Label string `json:"label,omitempty"`
- Rules FirewallRuleSet `json:"rules"`
- Tags []string `json:"tags,omitempty"`
- Devices DevicesCreationOptions `json:"devices,omitzero"`
+ Label string `json:"label,omitzero"`
+ Rules FirewallRulesCreateOptions `json:"rules"`
+ Tags []string `json:"tags,omitzero"`
+ Devices DevicesCreationOptions `json:"devices,omitzero"`
+}
+
+type FirewallRulesCreateOptions struct {
+ Inbound []FirewallRuleInbound `json:"inbound"`
+ InboundPolicy string `json:"inbound_policy"`
+ Outbound []FirewallRuleOutbound `json:"outbound"`
+ OutboundPolicy string `json:"outbound_policy"`
}
// FirewallUpdateOptions is an options struct used when Updating a Firewall
type FirewallUpdateOptions struct {
- Label string `json:"label,omitempty"`
- Status FirewallStatus `json:"status,omitempty"`
- Tags *[]string `json:"tags,omitempty"`
+ Label string `json:"label,omitzero"`
+ Status FirewallStatus `json:"status,omitzero"`
+ Tags []string `json:"tags,omitzero"`
}
// FirewallSettings represents the default firewalls for Linodes,
@@ -67,14 +74,14 @@ type DefaultFirewallIDs struct {
// FirewallSettingsUpdateOptions is an options struct used when Updating FirewallSettings
type FirewallSettingsUpdateOptions struct {
- DefaultFirewallIDs *DefaultFirewallIDsOptions `json:"default_firewall_ids,omitempty"`
+ DefaultFirewallIDs *DefaultFirewallIDsOptions `json:"default_firewall_ids,omitzero"`
}
type DefaultFirewallIDsOptions struct {
- Linode **int `json:"linode,omitempty"`
- NodeBalancer **int `json:"nodebalancer,omitempty"`
- PublicInterface **int `json:"public_interface,omitempty"`
- VPCInterface **int `json:"vpc_interface,omitempty"`
+ Linode **int `json:"linode,omitzero"`
+ NodeBalancer **int `json:"nodebalancer,omitzero"`
+ PublicInterface **int `json:"public_interface,omitzero"`
+ VPCInterface **int `json:"vpc_interface,omitzero"`
}
// GetUpdateOptions converts a Firewall to FirewallUpdateOptions for use in Client.UpdateFirewall.
@@ -82,7 +89,7 @@ func (f *Firewall) GetUpdateOptions() FirewallUpdateOptions {
return FirewallUpdateOptions{
Label: f.Label,
Status: f.Status,
- Tags: &f.Tags,
+ Tags: f.Tags,
}
}
diff --git a/go.mod b/go.mod
index 7678cc084..50aa10456 100644
--- a/go.mod
+++ b/go.mod
@@ -1,31 +1,23 @@
-module github.com/linode/linodego
+module github.com/linode/linodego/v2
require (
- github.com/go-resty/resty/v2 v2.17.2
github.com/google/go-cmp v0.7.0
github.com/google/go-querystring v1.2.0
github.com/jarcoal/httpmock v1.4.1
- golang.org/x/net v0.54.0
+ github.com/stretchr/testify v1.11.1
+ golang.org/x/net v0.55.0
golang.org/x/oauth2 v0.36.0
golang.org/x/text v0.37.0
gopkg.in/ini.v1 v1.67.2
)
require (
+ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/kr/pretty v0.3.1 // indirect
- github.com/rogpeppe/go-internal v1.10.0 // indirect
+ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
+ github.com/rogpeppe/go-internal v1.14.1 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
-)
-
-require (
- github.com/davecgh/go-spew v1.1.1 // indirect
- github.com/pmezard/go-difflib v1.0.0 // indirect
- github.com/stretchr/testify v1.11.1
gopkg.in/yaml.v3 v3.0.1 // indirect
)
go 1.25.0
-
-toolchain go1.25.1
-
-retract v1.0.0 // Accidental branch push
diff --git a/go.sum b/go.sum
index 0532adcfa..be55805cb 100644
--- a/go.sum
+++ b/go.sum
@@ -1,9 +1,8 @@
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/go-resty/resty/v2 v2.17.2 h1:FQW5oHYcIlkCNrMD2lloGScxcHJ0gkjshV3qcQAyHQk=
-github.com/go-resty/resty/v2 v2.17.2/go.mod h1:kCKZ3wWmwJaNc7S29BRtUhJwy7iqmn+2mLtQrOyQlVA=
+github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
+github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
@@ -21,11 +20,12 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/maxatome/go-testdeep v1.14.0 h1:rRlLv1+kI8eOI3OaBXZwb3O7xY3exRzdW5QyX48g9wI=
github.com/maxatome/go-testdeep v1.14.0/go.mod h1:lPZc/HAcJMP92l7yI6TRz1aZN5URwUBUAfUNvrclaNM=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
+github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
-github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
-github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
+github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
+github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
@@ -35,14 +35,12 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
-golang.org/x/net v0.54.0 h1:2zJIZAxAHV/OHCDTCOHAYehQzLfSXuf/5SoL/Dv6w/w=
-golang.org/x/net v0.54.0/go.mod h1:Sj4oj8jK6XmHpBZU/zWHw3BV3abl4Kvi+Ut7cQcY+cQ=
+golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8=
+golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww=
golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs=
golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q=
golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc=
golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38=
-golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
-golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
diff --git a/image_sharegroups_consumer.go b/image_sharegroups_consumer.go
index e9150b667..ab8b6600a 100644
--- a/image_sharegroups_consumer.go
+++ b/image_sharegroups_consumer.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// ConsumerImageShareGroup represents an ImageShareGroup that the consumer is a member of.
@@ -125,7 +125,7 @@ func (t *ImageShareGroupCreateTokenResponse) UnmarshalJSON(b []byte) error {
// ImageShareGroupCreateTokenOptions fields are those accepted by ImageShareGroupCreateToken
type ImageShareGroupCreateTokenOptions struct {
- Label *string `json:"label,omitempty"`
+ Label *string `json:"label,omitzero"`
ValidForShareGroupUUID string `json:"valid_for_sharegroup_uuid"`
}
diff --git a/image_sharegroups_producer.go b/image_sharegroups_producer.go
index 9d21392b2..b1f111f8b 100644
--- a/image_sharegroups_producer.go
+++ b/image_sharegroups_producer.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// ProducerImageShareGroup represents an ImageShareGroup owned by the producer.
@@ -50,14 +50,14 @@ func (isg *ProducerImageShareGroup) UnmarshalJSON(b []byte) error {
// ImageShareGroupCreateOptions fields are those accepted by CreateImageShareGroup.
type ImageShareGroupCreateOptions struct {
Label string `json:"label"`
- Description *string `json:"description,omitempty"`
- Images []ImageShareGroupImage `json:"images,omitempty"`
+ Description *string `json:"description,omitzero"`
+ Images []ImageShareGroupImage `json:"images,omitzero"`
}
// ImageShareGroupUpdateOptions fields are those accepted by UpdateImageShareGroup.
type ImageShareGroupUpdateOptions struct {
- Label *string `json:"label,omitempty"`
- Description *string `json:"description,omitempty"`
+ Label *string `json:"label,omitzero"`
+ Description *string `json:"description,omitzero"`
}
// ImageShareGroupAddImagesOptions fields are those accepted by ImageShareGroupAddImages.
@@ -67,15 +67,15 @@ type ImageShareGroupAddImagesOptions struct {
// ImageShareGroupUpdateImageOptions fields are those accepted by ImageShareGroupUpdateImage.
type ImageShareGroupUpdateImageOptions struct {
- Label *string `json:"label,omitempty"`
- Description *string `json:"description,omitempty"`
+ Label *string `json:"label,omitzero"`
+ Description *string `json:"description,omitzero"`
}
// ImageShareGroupImage represents an Image to be included in a ProducerImageShareGroup.
type ImageShareGroupImage struct {
ID string `json:"id"`
- Label *string `json:"label,omitempty"`
- Description *string `json:"description,omitempty"`
+ Label *string `json:"label,omitzero"`
+ Description *string `json:"description,omitzero"`
}
// ImageShareGroupMember represents a Member of an ImageShareGroup owned by the producer.
diff --git a/images.go b/images.go
index 5fdf644fb..0fe7870ae 100644
--- a/images.go
+++ b/images.go
@@ -4,10 +4,10 @@ import (
"context"
"encoding/json"
"io"
+ "net/http"
"time"
- "github.com/go-resty/resty/v2"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// ImageStatus represents the status of an Image.
@@ -115,18 +115,18 @@ type ImageShareEntry struct {
// ImageCreateOptions fields are those accepted by CreateImage
type ImageCreateOptions struct {
- DiskID int `json:"disk_id"`
- Label string `json:"label"`
- Description string `json:"description,omitempty"`
- CloudInit bool `json:"cloud_init,omitempty"`
- Tags *[]string `json:"tags,omitempty"`
+ DiskID int `json:"disk_id"`
+ Label string `json:"label"`
+ Description string `json:"description,omitzero"`
+ CloudInit bool `json:"cloud_init,omitzero"`
+ Tags []string `json:"tags,omitzero"`
}
// ImageUpdateOptions fields are those accepted by UpdateImage
type ImageUpdateOptions struct {
- Label string `json:"label,omitempty"`
- Description *string `json:"description,omitempty"`
- Tags *[]string `json:"tags,omitempty"`
+ Label string `json:"label,omitzero"`
+ Description *string `json:"description,omitzero"`
+ Tags []string `json:"tags,omitzero"`
}
// ImageReplicateOptions represents the options accepted by the
@@ -143,20 +143,20 @@ type ImageCreateUploadResponse struct {
// ImageCreateUploadOptions fields are those accepted by CreateImageUpload
type ImageCreateUploadOptions struct {
- Region string `json:"region"`
- Label string `json:"label"`
- Description string `json:"description,omitempty"`
- CloudInit bool `json:"cloud_init,omitempty"`
- Tags *[]string `json:"tags,omitempty"`
+ Region string `json:"region"`
+ Label string `json:"label"`
+ Description string `json:"description,omitzero"`
+ CloudInit bool `json:"cloud_init,omitzero"`
+ Tags []string `json:"tags,omitzero"`
}
// ImageUploadOptions fields are those accepted by UploadImage
type ImageUploadOptions struct {
- Region string `json:"region"`
- Label string `json:"label"`
- Description string `json:"description,omitempty"`
- CloudInit bool `json:"cloud_init"`
- Tags *[]string `json:"tags,omitempty"`
+ Region string `json:"region"`
+ Label string `json:"label"`
+ Description string `json:"description,omitzero"`
+ CloudInit bool `json:"cloud_init"`
+ Tags []string `json:"tags,omitzero"`
Image io.Reader
}
@@ -297,17 +297,48 @@ func (c *Client) CreateImageUpload(ctx context.Context, opts ImageCreateUploadOp
// UploadImageToURL uploads the given image to the given upload URL.
func (c *Client) UploadImageToURL(ctx context.Context, uploadURL string, image io.Reader) error {
- // Linode-specific headers do not need to be sent to this endpoint
- req := resty.New().SetDebug(c.resty.Debug).R().
- SetContext(ctx).
- SetContentLength(true).
- SetHeader("Content-Type", "application/octet-stream").
- SetBody(image)
+ clonedClient := *c.httpClient
+ clonedClient.Transport = http.DefaultTransport
- _, err := coupleAPIErrors(req.
- Put(uploadURL))
+ var contentLength int64 = -1
- return err
+ if seeker, ok := image.(io.Seeker); ok {
+ size, err := seeker.Seek(0, io.SeekEnd)
+ if err != nil {
+ return err
+ }
+
+ _, err = seeker.Seek(0, io.SeekStart)
+ if err != nil {
+ return err
+ }
+
+ contentLength = size
+ }
+
+ req, err := http.NewRequestWithContext(ctx, http.MethodPut, uploadURL, image)
+ if err != nil {
+ return err
+ }
+
+ if contentLength >= 0 {
+ req.ContentLength = contentLength
+ }
+
+ req.Header.Set("Content-Type", "application/octet-stream")
+ req.Header.Set("User-Agent", c.userAgent)
+
+ resp, err := clonedClient.Do(req)
+ if resp != nil && resp.Body != nil {
+ defer resp.Body.Close()
+ }
+
+ _, err = coupleAPIErrors(resp, err)
+ if err != nil {
+ return err
+ }
+
+ return nil
}
// UploadImage creates and uploads an image.
diff --git a/instance_config_interfaces.go b/instance_config_interfaces.go
index c1c8735f8..b6711f5bd 100644
--- a/instance_config_interfaces.go
+++ b/instance_config_interfaces.go
@@ -45,31 +45,41 @@ type InstanceConfigInterfaceIPv6Range struct {
}
type VPCIPv4 struct {
- VPC string `json:"vpc,omitempty"`
- NAT1To1 *string `json:"nat_1_1,omitempty"`
+ VPC string `json:"vpc,omitzero"`
+ NAT1To1 *string `json:"nat_1_1,omitzero"`
+}
+
+type VPCIPv4CreateOptions struct {
+ VPC string `json:"vpc,omitzero"`
+ NAT1To1 *string `json:"nat_1_1,omitzero"`
+}
+
+type VPCIPv4UpdateOptions struct {
+ VPC string `json:"vpc,omitzero"`
+ NAT1To1 *string `json:"nat_1_1,omitzero"`
}
type InstanceConfigInterfaceCreateOptions struct {
- IPAMAddress string `json:"ipam_address,omitempty"`
- Label string `json:"label,omitempty"`
- Purpose ConfigInterfacePurpose `json:"purpose,omitempty"`
- Primary bool `json:"primary,omitempty"`
- SubnetID *int `json:"subnet_id,omitempty"`
- IPv4 *VPCIPv4 `json:"ipv4,omitempty"`
+ IPAMAddress string `json:"ipam_address,omitzero"`
+ Label string `json:"label,omitzero"`
+ Purpose ConfigInterfacePurpose `json:"purpose,omitzero"`
+ Primary bool `json:"primary,omitzero"`
+ SubnetID *int `json:"subnet_id,omitzero"`
+ IPv4 *VPCIPv4CreateOptions `json:"ipv4,omitzero"`
// NOTE: IPv6 interfaces may not currently be available to all users.
- IPv6 *InstanceConfigInterfaceCreateOptionsIPv6 `json:"ipv6,omitempty"`
+ IPv6 *InstanceConfigInterfaceCreateOptionsIPv6 `json:"ipv6,omitzero"`
- IPRanges []string `json:"ip_ranges,omitempty"`
+ IPRanges []string `json:"ip_ranges,omitzero"`
}
// InstanceConfigInterfaceCreateOptionsIPv6 represents the IPv6 configuration of a Linode interface
// specified during creation.
// NOTE: IPv6 interfaces may not currently be available to all users.
type InstanceConfigInterfaceCreateOptionsIPv6 struct {
- SLAAC []InstanceConfigInterfaceCreateOptionsIPv6SLAAC `json:"slaac,omitempty"`
- Ranges []InstanceConfigInterfaceCreateOptionsIPv6Range `json:"ranges,omitempty"`
- IsPublic *bool `json:"is_public,omitempty"`
+ SLAAC []InstanceConfigInterfaceCreateOptionsIPv6SLAAC `json:"slaac,omitzero"`
+ Ranges []InstanceConfigInterfaceCreateOptionsIPv6Range `json:"ranges,omitzero"`
+ IsPublic *bool `json:"is_public,omitzero"`
}
// InstanceConfigInterfaceCreateOptionsIPv6SLAAC represents a single IPv6 SLAAC of a Linode interface
@@ -83,40 +93,40 @@ type InstanceConfigInterfaceCreateOptionsIPv6SLAAC struct {
// specified during creation.
// NOTE: IPv6 interfaces may not currently be available to all users.
type InstanceConfigInterfaceCreateOptionsIPv6Range struct {
- Range *string `json:"range,omitempty"`
+ Range *string `json:"range,omitzero"`
}
type InstanceConfigInterfaceUpdateOptions struct {
- Primary bool `json:"primary,omitempty"`
- IPv4 *VPCIPv4 `json:"ipv4,omitempty"`
+ Primary bool `json:"primary,omitzero"`
+ IPv4 *VPCIPv4UpdateOptions `json:"ipv4,omitzero"`
// NOTE: IPv6 interfaces may not currently be available to all users.
- IPv6 *InstanceConfigInterfaceUpdateOptionsIPv6 `json:"ipv6,omitempty"`
+ IPv6 *InstanceConfigInterfaceUpdateOptionsIPv6 `json:"ipv6,omitzero"`
- IPRanges *[]string `json:"ip_ranges,omitempty"`
+ IPRanges []string `json:"ip_ranges,omitzero"`
}
// InstanceConfigInterfaceUpdateOptionsIPv6 represents the IPv6 configuration of a Linode interface
// specified during updates.
// NOTE: IPv6 interfaces may not currently be available to all users.
type InstanceConfigInterfaceUpdateOptionsIPv6 struct {
- SLAAC *[]InstanceConfigInterfaceUpdateOptionsIPv6SLAAC `json:"slaac,omitempty"`
- Ranges *[]InstanceConfigInterfaceUpdateOptionsIPv6Range `json:"ranges,omitempty"`
- IsPublic *bool `json:"is_public,omitempty"`
+ SLAAC []InstanceConfigInterfaceUpdateOptionsIPv6SLAAC `json:"slaac,omitzero"`
+ Ranges []InstanceConfigInterfaceUpdateOptionsIPv6Range `json:"ranges,omitzero"`
+ IsPublic *bool `json:"is_public,omitzero"`
}
// InstanceConfigInterfaceUpdateOptionsIPv6SLAAC represents a single IPv6 SLAAC of a Linode interface
// specified during updates.
// NOTE: IPv6 interfaces may not currently be available to all users.
type InstanceConfigInterfaceUpdateOptionsIPv6SLAAC struct {
- Range *string `json:"range,omitempty"`
+ Range *string `json:"range,omitzero"`
}
// InstanceConfigInterfaceUpdateOptionsIPv6Range represents a single IPv6 ranges of a Linode interface
// specified during updates.
// NOTE: IPv6 interfaces may not currently be available to all users.
type InstanceConfigInterfaceUpdateOptionsIPv6Range struct {
- Range *string `json:"range,omitempty"`
+ Range *string `json:"range,omitzero"`
}
type InstanceConfigInterfacesReorderOptions struct {
@@ -147,7 +157,7 @@ func (i InstanceConfigInterface) GetCreateOptions() InstanceConfigInterfaceCreat
}
if i.IPv4 != nil {
- opts.IPv4 = &VPCIPv4{
+ opts.IPv4 = &VPCIPv4CreateOptions{
VPC: i.IPv4.VPC,
NAT1To1: i.IPv4.NAT1To1,
}
@@ -189,7 +199,7 @@ func (i InstanceConfigInterface) GetUpdateOptions() InstanceConfigInterfaceUpdat
if i.Purpose == InterfacePurposeVPC {
if i.IPv4 != nil {
- opts.IPv4 = &VPCIPv4{
+ opts.IPv4 = &VPCIPv4UpdateOptions{
VPC: i.IPv4.VPC,
NAT1To1: i.IPv4.NAT1To1,
}
@@ -217,8 +227,8 @@ func (i InstanceConfigInterface) GetUpdateOptions() InstanceConfigInterfaceUpdat
)
opts.IPv6 = &InstanceConfigInterfaceUpdateOptionsIPv6{
- SLAAC: &newSLAAC,
- Ranges: &newRanges,
+ SLAAC: newSLAAC,
+ Ranges: newRanges,
IsPublic: copyValue(ipv6.IsPublic),
}
}
@@ -230,7 +240,7 @@ func (i InstanceConfigInterface) GetUpdateOptions() InstanceConfigInterfaceUpdat
copiedIPRanges := make([]string, len(i.IPRanges))
copy(copiedIPRanges, i.IPRanges)
- opts.IPRanges = &copiedIPRanges
+ opts.IPRanges = copiedIPRanges
}
return opts
diff --git a/instance_configs.go b/instance_configs.go
index 089cf882b..233b744eb 100644
--- a/instance_configs.go
+++ b/instance_configs.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// InstanceConfig represents all of the settings that control the boot and run configuration of a Linode Instance
@@ -28,81 +28,81 @@ type InstanceConfig struct {
// InstanceConfigDevice contains either the DiskID or VolumeID assigned to a Config Device
type InstanceConfigDevice struct {
- DiskID int `json:"disk_id,omitempty"`
- VolumeID int `json:"volume_id,omitempty"`
+ DiskID int `json:"disk_id,omitzero"`
+ VolumeID int `json:"volume_id,omitzero"`
}
// InstanceConfigDeviceMap contains SDA-SDH InstanceConfigDevice settings
type InstanceConfigDeviceMap struct {
// sda-sdz
- SDA *InstanceConfigDevice `json:"sda,omitempty"`
- SDB *InstanceConfigDevice `json:"sdb,omitempty"`
- SDC *InstanceConfigDevice `json:"sdc,omitempty"`
- SDD *InstanceConfigDevice `json:"sdd,omitempty"`
- SDE *InstanceConfigDevice `json:"sde,omitempty"`
- SDF *InstanceConfigDevice `json:"sdf,omitempty"`
- SDG *InstanceConfigDevice `json:"sdg,omitempty"`
- SDH *InstanceConfigDevice `json:"sdh,omitempty"`
- SDI *InstanceConfigDevice `json:"sdi,omitempty"`
- SDJ *InstanceConfigDevice `json:"sdj,omitempty"`
- SDK *InstanceConfigDevice `json:"sdk,omitempty"`
- SDL *InstanceConfigDevice `json:"sdl,omitempty"`
- SDM *InstanceConfigDevice `json:"sdm,omitempty"`
- SDN *InstanceConfigDevice `json:"sdn,omitempty"`
- SDO *InstanceConfigDevice `json:"sdo,omitempty"`
- SDP *InstanceConfigDevice `json:"sdp,omitempty"`
- SDQ *InstanceConfigDevice `json:"sdq,omitempty"`
- SDR *InstanceConfigDevice `json:"sdr,omitempty"`
- SDS *InstanceConfigDevice `json:"sds,omitempty"`
- SDT *InstanceConfigDevice `json:"sdt,omitempty"`
- SDU *InstanceConfigDevice `json:"sdu,omitempty"`
- SDV *InstanceConfigDevice `json:"sdv,omitempty"`
- SDW *InstanceConfigDevice `json:"sdw,omitempty"`
- SDX *InstanceConfigDevice `json:"sdx,omitempty"`
- SDY *InstanceConfigDevice `json:"sdy,omitempty"`
- SDZ *InstanceConfigDevice `json:"sdz,omitempty"`
+ SDA *InstanceConfigDevice `json:"sda,omitzero"`
+ SDB *InstanceConfigDevice `json:"sdb,omitzero"`
+ SDC *InstanceConfigDevice `json:"sdc,omitzero"`
+ SDD *InstanceConfigDevice `json:"sdd,omitzero"`
+ SDE *InstanceConfigDevice `json:"sde,omitzero"`
+ SDF *InstanceConfigDevice `json:"sdf,omitzero"`
+ SDG *InstanceConfigDevice `json:"sdg,omitzero"`
+ SDH *InstanceConfigDevice `json:"sdh,omitzero"`
+ SDI *InstanceConfigDevice `json:"sdi,omitzero"`
+ SDJ *InstanceConfigDevice `json:"sdj,omitzero"`
+ SDK *InstanceConfigDevice `json:"sdk,omitzero"`
+ SDL *InstanceConfigDevice `json:"sdl,omitzero"`
+ SDM *InstanceConfigDevice `json:"sdm,omitzero"`
+ SDN *InstanceConfigDevice `json:"sdn,omitzero"`
+ SDO *InstanceConfigDevice `json:"sdo,omitzero"`
+ SDP *InstanceConfigDevice `json:"sdp,omitzero"`
+ SDQ *InstanceConfigDevice `json:"sdq,omitzero"`
+ SDR *InstanceConfigDevice `json:"sdr,omitzero"`
+ SDS *InstanceConfigDevice `json:"sds,omitzero"`
+ SDT *InstanceConfigDevice `json:"sdt,omitzero"`
+ SDU *InstanceConfigDevice `json:"sdu,omitzero"`
+ SDV *InstanceConfigDevice `json:"sdv,omitzero"`
+ SDW *InstanceConfigDevice `json:"sdw,omitzero"`
+ SDX *InstanceConfigDevice `json:"sdx,omitzero"`
+ SDY *InstanceConfigDevice `json:"sdy,omitzero"`
+ SDZ *InstanceConfigDevice `json:"sdz,omitzero"`
// sdaa-sdaz
- SDAA *InstanceConfigDevice `json:"sdaa,omitempty"`
- SDAB *InstanceConfigDevice `json:"sdab,omitempty"`
- SDAC *InstanceConfigDevice `json:"sdac,omitempty"`
- SDAD *InstanceConfigDevice `json:"sdad,omitempty"`
- SDAE *InstanceConfigDevice `json:"sdae,omitempty"`
- SDAF *InstanceConfigDevice `json:"sdaf,omitempty"`
- SDAG *InstanceConfigDevice `json:"sdag,omitempty"`
- SDAH *InstanceConfigDevice `json:"sdah,omitempty"`
- SDAI *InstanceConfigDevice `json:"sdai,omitempty"`
- SDAJ *InstanceConfigDevice `json:"sdaj,omitempty"`
- SDAK *InstanceConfigDevice `json:"sdak,omitempty"`
- SDAL *InstanceConfigDevice `json:"sdal,omitempty"`
- SDAM *InstanceConfigDevice `json:"sdam,omitempty"`
- SDAN *InstanceConfigDevice `json:"sdan,omitempty"`
- SDAO *InstanceConfigDevice `json:"sdao,omitempty"`
- SDAP *InstanceConfigDevice `json:"sdap,omitempty"`
- SDAQ *InstanceConfigDevice `json:"sdaq,omitempty"`
- SDAR *InstanceConfigDevice `json:"sdar,omitempty"`
- SDAS *InstanceConfigDevice `json:"sdas,omitempty"`
- SDAT *InstanceConfigDevice `json:"sdat,omitempty"`
- SDAU *InstanceConfigDevice `json:"sdau,omitempty"`
- SDAV *InstanceConfigDevice `json:"sdav,omitempty"`
- SDAW *InstanceConfigDevice `json:"sdaw,omitempty"`
- SDAX *InstanceConfigDevice `json:"sdax,omitempty"`
- SDAY *InstanceConfigDevice `json:"sday,omitempty"`
- SDAZ *InstanceConfigDevice `json:"sdaz,omitempty"`
+ SDAA *InstanceConfigDevice `json:"sdaa,omitzero"`
+ SDAB *InstanceConfigDevice `json:"sdab,omitzero"`
+ SDAC *InstanceConfigDevice `json:"sdac,omitzero"`
+ SDAD *InstanceConfigDevice `json:"sdad,omitzero"`
+ SDAE *InstanceConfigDevice `json:"sdae,omitzero"`
+ SDAF *InstanceConfigDevice `json:"sdaf,omitzero"`
+ SDAG *InstanceConfigDevice `json:"sdag,omitzero"`
+ SDAH *InstanceConfigDevice `json:"sdah,omitzero"`
+ SDAI *InstanceConfigDevice `json:"sdai,omitzero"`
+ SDAJ *InstanceConfigDevice `json:"sdaj,omitzero"`
+ SDAK *InstanceConfigDevice `json:"sdak,omitzero"`
+ SDAL *InstanceConfigDevice `json:"sdal,omitzero"`
+ SDAM *InstanceConfigDevice `json:"sdam,omitzero"`
+ SDAN *InstanceConfigDevice `json:"sdan,omitzero"`
+ SDAO *InstanceConfigDevice `json:"sdao,omitzero"`
+ SDAP *InstanceConfigDevice `json:"sdap,omitzero"`
+ SDAQ *InstanceConfigDevice `json:"sdaq,omitzero"`
+ SDAR *InstanceConfigDevice `json:"sdar,omitzero"`
+ SDAS *InstanceConfigDevice `json:"sdas,omitzero"`
+ SDAT *InstanceConfigDevice `json:"sdat,omitzero"`
+ SDAU *InstanceConfigDevice `json:"sdau,omitzero"`
+ SDAV *InstanceConfigDevice `json:"sdav,omitzero"`
+ SDAW *InstanceConfigDevice `json:"sdaw,omitzero"`
+ SDAX *InstanceConfigDevice `json:"sdax,omitzero"`
+ SDAY *InstanceConfigDevice `json:"sday,omitzero"`
+ SDAZ *InstanceConfigDevice `json:"sdaz,omitzero"`
// sdba-sdbl
- SDBA *InstanceConfigDevice `json:"sdba,omitempty"`
- SDBB *InstanceConfigDevice `json:"sdbb,omitempty"`
- SDBC *InstanceConfigDevice `json:"sdbc,omitempty"`
- SDBD *InstanceConfigDevice `json:"sdbd,omitempty"`
- SDBE *InstanceConfigDevice `json:"sdbe,omitempty"`
- SDBF *InstanceConfigDevice `json:"sdbf,omitempty"`
- SDBG *InstanceConfigDevice `json:"sdbg,omitempty"`
- SDBH *InstanceConfigDevice `json:"sdbh,omitempty"`
- SDBI *InstanceConfigDevice `json:"sdbi,omitempty"`
- SDBJ *InstanceConfigDevice `json:"sdbj,omitempty"`
- SDBK *InstanceConfigDevice `json:"sdbk,omitempty"`
- SDBL *InstanceConfigDevice `json:"sdbl,omitempty"`
+ SDBA *InstanceConfigDevice `json:"sdba,omitzero"`
+ SDBB *InstanceConfigDevice `json:"sdbb,omitzero"`
+ SDBC *InstanceConfigDevice `json:"sdbc,omitzero"`
+ SDBD *InstanceConfigDevice `json:"sdbd,omitzero"`
+ SDBE *InstanceConfigDevice `json:"sdbe,omitzero"`
+ SDBF *InstanceConfigDevice `json:"sdbf,omitzero"`
+ SDBG *InstanceConfigDevice `json:"sdbg,omitzero"`
+ SDBH *InstanceConfigDevice `json:"sdbh,omitzero"`
+ SDBI *InstanceConfigDevice `json:"sdbi,omitzero"`
+ SDBJ *InstanceConfigDevice `json:"sdbj,omitzero"`
+ SDBK *InstanceConfigDevice `json:"sdbk,omitzero"`
+ SDBL *InstanceConfigDevice `json:"sdbl,omitzero"`
}
// InstanceConfigHelpers are Instance Config options that control Linux distribution specific tweaks
@@ -125,34 +125,34 @@ const (
// InstanceConfigCreateOptions are InstanceConfig settings that can be used at creation
type InstanceConfigCreateOptions struct {
- Label string `json:"label,omitempty"`
- Comments string `json:"comments,omitempty"`
+ Label string `json:"label,omitzero"`
+ Comments string `json:"comments,omitzero"`
Devices InstanceConfigDeviceMap `json:"devices"`
- Helpers *InstanceConfigHelpers `json:"helpers,omitempty"`
+ Helpers *InstanceConfigHelpers `json:"helpers,omitzero"`
Interfaces []InstanceConfigInterfaceCreateOptions `json:"interfaces"`
- MemoryLimit int `json:"memory_limit,omitempty"`
- Kernel string `json:"kernel,omitempty"`
- InitRD int `json:"init_rd,omitempty"`
- RootDevice *string `json:"root_device,omitempty"`
- RunLevel string `json:"run_level,omitempty"`
- VirtMode string `json:"virt_mode,omitempty"`
+ MemoryLimit int `json:"memory_limit,omitzero"`
+ Kernel string `json:"kernel,omitzero"`
+ InitRD int `json:"init_rd,omitzero"`
+ RootDevice *string `json:"root_device,omitzero"`
+ RunLevel string `json:"run_level,omitzero"`
+ VirtMode string `json:"virt_mode,omitzero"`
}
// InstanceConfigUpdateOptions are InstanceConfig settings that can be used in updates
type InstanceConfigUpdateOptions struct {
- Label string `json:"label,omitempty"`
+ Label string `json:"label,omitzero"`
Comments string `json:"comments"`
- Devices *InstanceConfigDeviceMap `json:"devices,omitempty"`
- Helpers *InstanceConfigHelpers `json:"helpers,omitempty"`
+ Devices *InstanceConfigDeviceMap `json:"devices,omitzero"`
+ Helpers *InstanceConfigHelpers `json:"helpers,omitzero"`
Interfaces []InstanceConfigInterfaceCreateOptions `json:"interfaces"`
// MemoryLimit 0 means unlimitted, this is not omitted
MemoryLimit int `json:"memory_limit"`
- Kernel string `json:"kernel,omitempty"`
+ Kernel string `json:"kernel,omitzero"`
// InitRD is nullable, permit the sending of null
InitRD *int `json:"init_rd"`
- RootDevice string `json:"root_device,omitempty"`
- RunLevel string `json:"run_level,omitempty"`
- VirtMode string `json:"virt_mode,omitempty"`
+ RootDevice string `json:"root_device,omitzero"`
+ RunLevel string `json:"run_level,omitzero"`
+ VirtMode string `json:"virt_mode,omitzero"`
}
// UnmarshalJSON implements the json.Unmarshaler interface
diff --git a/instance_disks.go b/instance_disks.go
index 6dc1b000f..e288af6f1 100644
--- a/instance_disks.go
+++ b/instance_disks.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// InstanceDisk represents an Instance Disk object
@@ -48,15 +48,14 @@ type InstanceDiskCreateOptions struct {
Size int `json:"size"`
// Image is optional, but requires at least one of RootPass, AuthorizedUsers, or AuthorizedKeys if provided
- Image string `json:"image,omitempty"`
-
- RootPass string `json:"root_pass,omitempty"`
- AuthorizedKeys []string `json:"authorized_keys,omitempty"`
- AuthorizedUsers []string `json:"authorized_users,omitempty"`
-
- Filesystem string `json:"filesystem,omitempty"`
- StackscriptID int `json:"stackscript_id,omitempty"`
- StackscriptData map[string]string `json:"stackscript_data,omitempty"`
+ Image string `json:"image,omitzero"`
+ RootPass string `json:"root_pass,omitzero"`
+
+ Filesystem string `json:"filesystem,omitzero"`
+ AuthorizedKeys []string `json:"authorized_keys,omitzero"`
+ AuthorizedUsers []string `json:"authorized_users,omitzero"`
+ StackscriptID int `json:"stackscript_id,omitzero"`
+ StackscriptData map[string]string `json:"stackscript_data,omitzero"`
}
// InstanceDiskUpdateOptions are InstanceDisk settings that can be used in updates
@@ -64,7 +63,15 @@ type InstanceDiskUpdateOptions struct {
Label string `json:"label"`
}
-type InstanceDiskCloneOptions struct{}
+// InstanceDiskResizeOptions are InstanceDisk settings that can be used in resizes
+type InstanceDiskResizeOptions struct {
+ Size int `json:"size"`
+}
+
+// InstanceDiskPasswordResetOptions are InstanceDisk settings that can be used in password resets
+type InstanceDiskPasswordResetOptions struct {
+ Password string `json:"password"`
+}
// ListInstanceDisks lists InstanceDisks
func (c *Client) ListInstanceDisks(ctx context.Context, linodeID int, opts *ListOptions) ([]InstanceDisk, error) {
@@ -118,22 +125,14 @@ func (c *Client) RenameInstanceDisk(ctx context.Context, linodeID int, diskID in
}
// ResizeInstanceDisk resizes the size of the Instance disk
-func (c *Client) ResizeInstanceDisk(ctx context.Context, linodeID int, diskID int, size int) error {
- opts := map[string]any{
- "size": size,
- }
-
+func (c *Client) ResizeInstanceDisk(ctx context.Context, linodeID int, diskID int, opts InstanceDiskResizeOptions) error {
e := formatAPIPath("linode/instances/%d/disks/%d/resize", linodeID, diskID)
return doPOSTRequestNoResponseBody(ctx, c, e, opts)
}
// PasswordResetInstanceDisk resets the "root" account password on the Instance disk
-func (c *Client) PasswordResetInstanceDisk(ctx context.Context, linodeID int, diskID int, password string) error {
- opts := map[string]any{
- "password": password,
- }
-
+func (c *Client) PasswordResetInstanceDisk(ctx context.Context, linodeID int, diskID int, opts InstanceDiskPasswordResetOptions) error {
e := formatAPIPath("linode/instances/%d/disks/%d/password", linodeID, diskID)
return doPOSTRequestNoResponseBody(ctx, c, e, opts)
@@ -146,7 +145,7 @@ func (c *Client) DeleteInstanceDisk(ctx context.Context, linodeID int, diskID in
}
// CloneInstanceDisk clones the given InstanceDisk for the given Instance
-func (c *Client) CloneInstanceDisk(ctx context.Context, linodeID, diskID int, opts InstanceDiskCloneOptions) (*InstanceDisk, error) {
+func (c *Client) CloneInstanceDisk(ctx context.Context, linodeID, diskID int) (*InstanceDisk, error) {
e := formatAPIPath("linode/instances/%d/disks/%d/clone", linodeID, diskID)
- return doPOSTRequest[InstanceDisk](ctx, c, e, opts)
+ return doPOSTRequestNoRequestBody[InstanceDisk](ctx, c, e)
}
diff --git a/instance_ips.go b/instance_ips.go
index 943dbdd39..c7f4236ef 100644
--- a/instance_ips.go
+++ b/instance_ips.go
@@ -12,27 +12,38 @@ type InstanceIPAddressResponse struct {
// InstanceIPv4Response contains the details of all IPv4 addresses associated with an Instance
type InstanceIPv4Response struct {
- Public []*InstanceIP `json:"public"`
- Private []*InstanceIP `json:"private"`
- Shared []*InstanceIP `json:"shared"`
- Reserved []*InstanceIP `json:"reserved"`
- VPC []*VPCIP `json:"vpc"`
+ Public []InstanceIP `json:"public"`
+ Private []InstanceIP `json:"private"`
+ Shared []InstanceIP `json:"shared"`
+ Reserved []InstanceIP `json:"reserved"`
+ VPC []VPCIP `json:"vpc"`
}
// InstanceIP represents an Instance IP with additional DNS and networking details
type InstanceIP struct {
- Address string `json:"address"`
- Gateway string `json:"gateway"`
- SubnetMask string `json:"subnet_mask"`
- Prefix int `json:"prefix"`
- Type InstanceIPType `json:"type"`
- Public bool `json:"public"`
- RDNS string `json:"rdns"`
- LinodeID int `json:"linode_id"`
- InterfaceID *int `json:"interface_id"`
- Region string `json:"region"`
- VPCNAT1To1 *InstanceIPNAT1To1 `json:"vpc_nat_1_1"`
- Reserved bool `json:"reserved"`
+ Address string `json:"address"`
+ Gateway string `json:"gateway"`
+ SubnetMask string `json:"subnet_mask"`
+ Prefix int `json:"prefix"`
+ Type InstanceIPType `json:"type"`
+ Public bool `json:"public"`
+ RDNS string `json:"rdns"`
+ LinodeID int `json:"linode_id"`
+ InterfaceID *int `json:"interface_id"`
+ Region string `json:"region"`
+ VPCNAT1To1 *InstanceIPNAT1To1 `json:"vpc_nat_1_1"`
+ Reserved bool `json:"reserved"`
+ Tags []string `json:"tags"`
+ AssignedEntity *ReservedIPAssignedEntity `json:"assigned_entity"`
+}
+
+type InstanceIPAddOptions struct {
+ Type string `json:"type"`
+ Public bool `json:"public"`
+}
+
+type InstanceIPAddressUpdateOptions struct {
+ RDNS **string `json:"rdns,omitzero"`
}
// VPCIP represents a private IP address in a VPC subnet with additional networking details
@@ -127,19 +138,15 @@ func (c *Client) GetInstanceIPAddress(ctx context.Context, linodeID int, ipaddre
}
// AddInstanceIPAddress adds a public or private IP to a Linode instance
-func (c *Client) AddInstanceIPAddress(ctx context.Context, linodeID int, public bool) (*InstanceIP, error) {
- instanceipRequest := struct {
- Type string `json:"type"`
- Public bool `json:"public"`
- }{"ipv4", public}
-
+func (c *Client) AddInstanceIPAddress(ctx context.Context, linodeID int, opts InstanceIPAddOptions) (*InstanceIP, error) {
+ opts.Type = "ipv4"
e := formatAPIPath("linode/instances/%d/ips", linodeID)
- return doPOSTRequest[InstanceIP](ctx, c, e, instanceipRequest)
+ return doPOSTRequest[InstanceIP](ctx, c, e, opts)
}
// UpdateInstanceIPAddress updates the IPAddress with the specified instance id and IP address
-func (c *Client) UpdateInstanceIPAddress(ctx context.Context, linodeID int, ipAddress string, opts IPAddressUpdateOptions) (*InstanceIP, error) {
+func (c *Client) UpdateInstanceIPAddress(ctx context.Context, linodeID int, ipAddress string, opts InstanceIPAddressUpdateOptions) (*InstanceIP, error) {
e := formatAPIPath("linode/instances/%d/ips/%s", linodeID, ipAddress)
return doPUTRequest[InstanceIP](ctx, c, e, opts)
}
diff --git a/instance_snapshots.go b/instance_snapshots.go
index a2eedc9cf..04e5a40a8 100644
--- a/instance_snapshots.go
+++ b/instance_snapshots.go
@@ -5,12 +5,12 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// InstanceBackupsResponse response struct for backup snapshot
type InstanceBackupsResponse struct {
- Automatic []*InstanceSnapshot `json:"automatic"`
+ Automatic []InstanceSnapshot `json:"automatic"`
Snapshot *InstanceBackupSnapshotResponse `json:"snapshot"`
}
@@ -20,6 +20,10 @@ type InstanceBackupSnapshotResponse struct {
InProgress *InstanceSnapshot `json:"in_progress"`
}
+type InstanceSnapshotCreateOptions struct {
+ Label string `json:"label"`
+}
+
// RestoreInstanceOptions fields are those accepted by InstanceRestore
type RestoreInstanceOptions struct {
LinodeID int `json:"linode_id"`
@@ -28,16 +32,16 @@ type RestoreInstanceOptions struct {
// InstanceSnapshot represents a linode backup snapshot
type InstanceSnapshot struct {
- ID int `json:"id"`
- Label string `json:"label"`
- Status InstanceSnapshotStatus `json:"status"`
- Type string `json:"type"`
- Created *time.Time `json:"-"`
- Updated *time.Time `json:"-"`
- Finished *time.Time `json:"-"`
- Configs []string `json:"configs"`
- Disks []*InstanceSnapshotDisk `json:"disks"`
- Available bool `json:"available"`
+ ID int `json:"id"`
+ Label string `json:"label"`
+ Status InstanceSnapshotStatus `json:"status"`
+ Type string `json:"type"`
+ Created *time.Time `json:"-"`
+ Updated *time.Time `json:"-"`
+ Finished *time.Time `json:"-"`
+ Configs []string `json:"configs"`
+ Disks []InstanceSnapshotDisk `json:"disks"`
+ Available bool `json:"available"`
}
// InstanceSnapshotDisk fields represent the source disk of a Snapshot
@@ -93,9 +97,7 @@ func (c *Client) GetInstanceSnapshot(ctx context.Context, linodeID int, snapshot
}
// CreateInstanceSnapshot Creates or Replaces the snapshot Backup of a Linode. If a previous snapshot exists for this Linode, it will be deleted.
-func (c *Client) CreateInstanceSnapshot(ctx context.Context, linodeID int, label string) (*InstanceSnapshot, error) {
- opts := map[string]string{"label": label}
-
+func (c *Client) CreateInstanceSnapshot(ctx context.Context, linodeID int, opts InstanceSnapshotCreateOptions) (*InstanceSnapshot, error) {
e := formatAPIPath("linode/instances/%d/backups", linodeID)
return doPOSTRequest[InstanceSnapshot](ctx, c, e, opts)
diff --git a/instances.go b/instances.go
index 58d658c17..e294b37bc 100644
--- a/instances.go
+++ b/instances.go
@@ -7,7 +7,7 @@ import (
"net"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
type InterfaceGeneration string
@@ -57,7 +57,7 @@ type Instance struct {
Backups *InstanceBackup `json:"backups"`
Image string `json:"image"`
Group string `json:"group"`
- IPv4 []*net.IP `json:"ipv4"`
+ IPv4 []net.IP `json:"ipv4"`
IPv6 string `json:"ipv6"`
Label string `json:"label"`
Type string `json:"type"`
@@ -75,7 +75,7 @@ type Instance struct {
InterfaceGeneration InterfaceGeneration `json:"interface_generation"`
MaintenancePolicy string `json:"maintenance_policy"`
- // NOTE: Locks can only be used with v4beta.
+ // NOTE: Both cannot_delete and cannot_delete_with_subresources apply to Instances and can only be used with v4beta.
Locks []LockType `json:"locks"`
}
@@ -100,12 +100,12 @@ type InstanceAlert struct {
// InstanceBackup represents backup settings for an instance
type InstanceBackup struct {
- Available bool `json:"available,omitempty"` // read-only
- Enabled bool `json:"enabled,omitempty"` // read-only
- LastSuccessful *time.Time `json:"-"` // read-only
+ Available bool `json:"available,omitzero"` // read-only
+ Enabled bool `json:"enabled,omitzero"` // read-only
+ LastSuccessful *time.Time `json:"-"` // read-only
Schedule struct {
- Day string `json:"day,omitempty"`
- Window string `json:"window,omitempty"`
+ Day string `json:"day,omitzero"`
+ Window string `json:"window,omitzero"`
} `json:"schedule"`
}
@@ -128,22 +128,8 @@ type InstanceTransfer struct {
Quota int `json:"quota"`
}
-// Deprecated: use MonthlyInstanceTransferStatsV2 for new implementations
-//
// MonthlyInstanceTransferStats pool stats for a Linode Instance network transfer statistics for a specific month
type MonthlyInstanceTransferStats struct {
- // The amount of inbound public network traffic received by this Linode, in bytes, for a specific year/month.
- BytesIn int `json:"bytes_in"`
-
- // The amount of outbound public network traffic sent by this Linode, in bytes, for a specific year/month.
- BytesOut int `json:"bytes_out"`
-
- // The total amount of public network traffic sent and received by this Linode, in bytes, for a specific year/month.
- BytesTotal int `json:"bytes_total"`
-}
-
-// MonthlyInstanceTransferStatsV2 pool stats for a Linode Instance network transfer statistics for a specific month
-type MonthlyInstanceTransferStatsV2 struct {
// The amount of inbound public network traffic received by this Linode, in bytes, for a specific year/month.
BytesIn uint64 `json:"bytes_in"`
@@ -168,7 +154,7 @@ type InstancePlacementGroup struct {
// that relate to the Linode Metadata service.
type InstanceMetadataOptions struct {
// UserData expects a Base64-encoded string
- UserData string `json:"user_data,omitempty"`
+ UserData string `json:"user_data,omitzero"`
}
// InstancePasswordResetOptions specifies the new password for the Linode
@@ -178,30 +164,25 @@ type InstancePasswordResetOptions struct {
// InstanceCreateOptions require only Region and Type
type InstanceCreateOptions struct {
- Region string `json:"region"`
- Type string `json:"type"`
- Label string `json:"label,omitempty"`
-
- StackScriptID int `json:"stackscript_id,omitempty"`
- StackScriptData map[string]string `json:"stackscript_data,omitempty"`
- BackupID int `json:"backup_id,omitempty"`
-
- // Image is optional, but requires at least one of RootPass, AuthorizedUsers, or AuthorizedKeys if provided
- Image string `json:"image,omitempty"`
-
- RootPass string `json:"root_pass,omitempty"`
- AuthorizedKeys []string `json:"authorized_keys,omitempty"`
- AuthorizedUsers []string `json:"authorized_users,omitempty"`
-
- BackupsEnabled bool `json:"backups_enabled,omitempty"`
- PrivateIP bool `json:"private_ip,omitempty"`
- NetworkHelper *bool `json:"network_helper,omitempty"`
- Tags []string `json:"tags,omitempty"`
- Metadata *InstanceMetadataOptions `json:"metadata,omitempty"`
- FirewallID int `json:"firewall_id,omitempty"`
- InterfaceGeneration InterfaceGeneration `json:"interface_generation,omitempty"`
- DiskEncryption InstanceDiskEncryption `json:"disk_encryption,omitempty"`
- PlacementGroup *InstanceCreatePlacementGroupOptions `json:"placement_group,omitempty"`
+ Region string `json:"region"`
+ Type string `json:"type"`
+ Label string `json:"label,omitzero"`
+ RootPass string `json:"root_pass,omitzero"`
+ AuthorizedKeys []string `json:"authorized_keys,omitzero"`
+ AuthorizedUsers []string `json:"authorized_users,omitzero"`
+ StackScriptID int `json:"stackscript_id,omitzero"`
+ StackScriptData map[string]string `json:"stackscript_data,omitzero"`
+ BackupID int `json:"backup_id,omitzero"`
+ Image string `json:"image,omitzero"`
+ BackupsEnabled bool `json:"backups_enabled,omitzero"`
+ PrivateIP bool `json:"private_ip,omitzero"`
+ NetworkHelper *bool `json:"network_helper,omitzero"`
+ Tags []string `json:"tags,omitzero"`
+ Metadata *InstanceMetadataOptions `json:"metadata,omitzero"`
+ FirewallID int `json:"firewall_id,omitzero"`
+ InterfaceGeneration InterfaceGeneration `json:"interface_generation,omitzero"`
+ DiskEncryption InstanceDiskEncryption `json:"disk_encryption,omitzero"`
+ PlacementGroup *InstanceCreatePlacementGroupOptions `json:"placement_group,omitzero"`
// LinodeInstanceInterfaces are the Linode Interfaces (including
// RDMA VPC interfaces) to create the new instance with.
@@ -222,38 +203,33 @@ type InstanceCreateOptions struct {
Interfaces []InstanceConfigInterfaceCreateOptions `json:"-"`
// Creation fields that need to be set explicitly false, "", or 0 use pointers
- SwapSize *int `json:"swap_size,omitempty"`
- Booted *bool `json:"booted,omitempty"`
+ SwapSize *int `json:"swap_size,omitzero"`
+ Booted *bool `json:"booted,omitzero"`
- // Deprecated: group is a deprecated property denoting a group label for the Linode.
- Group string `json:"group,omitempty"`
+ IPv4 []string `json:"ipv4,omitzero"`
- IPv4 []string `json:"ipv4,omitempty"`
+ MaintenancePolicy *string `json:"maintenance_policy,omitzero"`
- MaintenancePolicy *string `json:"maintenance_policy,omitempty"`
- Kernel *string `json:"kernel,omitzero"`
- BootSize *int `json:"boot_size,omitzero"`
+ Kernel *string `json:"kernel,omitzero"`
+ BootSize *int `json:"boot_size,omitzero"`
}
// InstanceCreatePlacementGroupOptions represents the placement group
// to create this Linode under.
type InstanceCreatePlacementGroupOptions struct {
ID int `json:"id"`
- CompliantOnly *bool `json:"compliant_only,omitempty"`
+ CompliantOnly *bool `json:"compliant_only,omitzero"`
}
// InstanceUpdateOptions is an options struct used when Updating an Instance
type InstanceUpdateOptions struct {
- Label string `json:"label,omitempty"`
- Backups *InstanceBackup `json:"backups,omitempty"`
- Alerts *InstanceAlert `json:"alerts,omitempty"`
- WatchdogEnabled *bool `json:"watchdog_enabled,omitempty"`
- Tags *[]string `json:"tags,omitempty"`
+ Label string `json:"label,omitzero"`
+ Backups *InstanceBackup `json:"backups,omitzero"`
+ Alerts *InstanceAlert `json:"alerts,omitzero"`
+ WatchdogEnabled *bool `json:"watchdog_enabled,omitzero"`
+ Tags []string `json:"tags,omitzero"`
- // Deprecated: group is a deprecated property denoting a group label for the Linode.
- Group *string `json:"group,omitempty"`
-
- MaintenancePolicy *string `json:"maintenance_policy,omitempty"`
+ MaintenancePolicy *string `json:"maintenance_policy,omitzero"`
}
// MarshalJSON contains logic necessary to populate the `interfaces` field of
@@ -265,7 +241,7 @@ func (i InstanceCreateOptions) MarshalJSON() ([]byte, error) {
resultData := struct {
*Mask
- Interfaces any `json:"interfaces,omitempty"`
+ Interfaces any `json:"interfaces,omitzero"`
}{
Mask: (*Mask)(&i),
Interfaces: nil,
@@ -306,7 +282,7 @@ func (i *InstanceCreateOptions) UnmarshalJSON(b []byte) error {
p := struct {
*Mask
- GenericInterfaces any `json:"interfaces,omitempty"`
+ GenericInterfaces any `json:"interfaces,omitzero"`
}{
Mask: (*Mask)(i),
}
@@ -393,50 +369,54 @@ func (backup *InstanceBackup) UnmarshalJSON(b []byte) error {
func (i *Instance) GetUpdateOptions() InstanceUpdateOptions {
return InstanceUpdateOptions{
Label: i.Label,
- Group: &i.Group,
Backups: i.Backups,
Alerts: i.Alerts,
WatchdogEnabled: &i.WatchdogEnabled,
- Tags: &i.Tags,
+ Tags: i.Tags,
MaintenancePolicy: &i.MaintenancePolicy,
}
}
// InstanceCloneOptions is an options struct sent when Cloning an Instance
type InstanceCloneOptions struct {
- Region string `json:"region,omitempty"`
- Type string `json:"type,omitempty"`
+ Region string `json:"region,omitzero"`
+ Type string `json:"type,omitzero"`
// LinodeID is an optional existing instance to use as the target of the clone
- LinodeID int `json:"linode_id,omitempty"`
- Label string `json:"label,omitempty"`
+ LinodeID int `json:"linode_id,omitzero"`
+ Label string `json:"label,omitzero"`
BackupsEnabled bool `json:"backups_enabled"`
- Disks []int `json:"disks,omitempty"`
- Configs []int `json:"configs,omitempty"`
- PrivateIP bool `json:"private_ip,omitempty"`
- Metadata *InstanceMetadataOptions `json:"metadata,omitempty"`
- PlacementGroup *InstanceCreatePlacementGroupOptions `json:"placement_group,omitempty"`
-
- // Deprecated: group is a deprecated property denoting a group label for the Linode.
- Group string `json:"group,omitempty"`
+ Disks []int `json:"disks,omitzero"`
+ Configs []int `json:"configs,omitzero"`
+ PrivateIP bool `json:"private_ip,omitzero"`
+ Metadata *InstanceMetadataOptions `json:"metadata,omitzero"`
+ PlacementGroup *InstanceCreatePlacementGroupOptions `json:"placement_group,omitzero"`
}
// InstanceResizeOptions is an options struct used when resizing an instance
type InstanceResizeOptions struct {
Type string `json:"type"`
- MigrationType InstanceMigrationType `json:"migration_type,omitempty"`
+ MigrationType InstanceMigrationType `json:"migration_type,omitzero"`
// When enabled, an instance resize will also resize a data disk if the instance has no more than one data disk and one swap disk
- AllowAutoDiskResize *bool `json:"allow_auto_disk_resize,omitempty"`
+ AllowAutoDiskResize *bool `json:"allow_auto_disk_resize,omitzero"`
+}
+
+type InstanceBootOptions struct {
+ ConfigID *int `json:"config_id,omitzero"`
+}
+
+type InstanceRebootOptions struct {
+ ConfigID *int `json:"config_id,omitzero"`
}
// InstanceMigrateOptions is an options struct used when migrating an instance
type InstanceMigrateOptions struct {
- Type InstanceMigrationType `json:"type,omitempty"`
- Region string `json:"region,omitempty"`
- Upgrade *bool `json:"upgrade,omitempty"`
+ Type InstanceMigrationType `json:"type,omitzero"`
+ Region string `json:"region,omitzero"`
+ Upgrade *bool `json:"upgrade,omitzero"`
- PlacementGroup *InstanceCreatePlacementGroupOptions `json:"placement_group,omitempty"`
+ PlacementGroup *InstanceCreatePlacementGroupOptions `json:"placement_group,omitzero"`
}
// ListInstances lists linode instances
@@ -462,12 +442,6 @@ func (c *Client) GetInstanceTransferMonthly(ctx context.Context, linodeID, year,
return doGETRequest[MonthlyInstanceTransferStats](ctx, c, e)
}
-// GetInstanceTransferMonthlyV2 gets the instance's network transfer pool statistics for a specific month.
-func (c *Client) GetInstanceTransferMonthlyV2(ctx context.Context, linodeID, year, month int) (*MonthlyInstanceTransferStatsV2, error) {
- e := formatAPIPath("linode/instances/%d/transfer/%d/%d", linodeID, year, month)
- return doGETRequest[MonthlyInstanceTransferStatsV2](ctx, c, e)
-}
-
// CreateInstance creates a Linode instance
func (c *Client) CreateInstance(ctx context.Context, opts InstanceCreateOptions) (*Instance, error) {
return doPOSTRequest[Instance](ctx, c, "linode/instances", opts)
@@ -492,13 +466,7 @@ func (c *Client) DeleteInstance(ctx context.Context, linodeID int) error {
// BootInstance will boot a Linode instance
// A configID of 0 will cause Linode to choose the last/best config
-func (c *Client) BootInstance(ctx context.Context, linodeID int, configID int) error {
- opts := make(map[string]int)
-
- if configID != 0 {
- opts = map[string]int{"config_id": configID}
- }
-
+func (c *Client) BootInstance(ctx context.Context, linodeID int, opts InstanceBootOptions) error {
e := formatAPIPath("linode/instances/%d/boot", linodeID)
return doPOSTRequestNoResponseBody(ctx, c, e, opts)
@@ -518,13 +486,7 @@ func (c *Client) ResetInstancePassword(ctx context.Context, linodeID int, opts I
// RebootInstance reboots a Linode instance
// A configID of 0 will cause Linode to choose the last/best config
-func (c *Client) RebootInstance(ctx context.Context, linodeID int, configID int) error {
- opts := make(map[string]int)
-
- if configID != 0 {
- opts = map[string]int{"config_id": configID}
- }
-
+func (c *Client) RebootInstance(ctx context.Context, linodeID int, opts InstanceRebootOptions) error {
e := formatAPIPath("linode/instances/%d/reboot", linodeID)
return doPOSTRequestNoResponseBody(ctx, c, e, opts)
@@ -532,19 +494,16 @@ func (c *Client) RebootInstance(ctx context.Context, linodeID int, configID int)
// InstanceRebuildOptions is a struct representing the options to send to the rebuild linode endpoint
type InstanceRebuildOptions struct {
- // Image is the image to deploy when rebuilding the Linode
- Image string `json:"image,omitempty"`
-
- RootPass string `json:"root_pass,omitempty"`
- AuthorizedKeys []string `json:"authorized_keys,omitempty"`
- AuthorizedUsers []string `json:"authorized_users,omitempty"`
-
- StackScriptID int `json:"stackscript_id,omitempty"`
- StackScriptData map[string]string `json:"stackscript_data,omitempty"`
- Booted *bool `json:"booted,omitempty"`
- Metadata *InstanceMetadataOptions `json:"metadata,omitempty"`
- Type string `json:"type,omitempty"`
- DiskEncryption InstanceDiskEncryption `json:"disk_encryption,omitempty"`
+ Image string `json:"image,omitzero"`
+ RootPass string `json:"root_pass,omitzero"`
+ AuthorizedKeys []string `json:"authorized_keys,omitzero"`
+ AuthorizedUsers []string `json:"authorized_users,omitzero"`
+ StackScriptID int `json:"stackscript_id,omitzero"`
+ StackScriptData map[string]string `json:"stackscript_data,omitzero"`
+ Booted *bool `json:"booted,omitzero"`
+ Metadata *InstanceMetadataOptions `json:"metadata,omitzero"`
+ Type string `json:"type,omitzero"`
+ DiskEncryption InstanceDiskEncryption `json:"disk_encryption,omitzero"`
}
// RebuildInstance Deletes all Disks and Configs on this Linode,
@@ -579,12 +538,6 @@ func (c *Client) ShutdownInstance(ctx context.Context, id int) error {
return c.simpleInstanceAction(ctx, "shutdown", id)
}
-// Deprecated: Please use UpgradeInstance instead.
-// MutateInstance Upgrades a Linode to its next generation.
-func (c *Client) MutateInstance(ctx context.Context, id int) error {
- return c.simpleInstanceAction(ctx, "mutate", id)
-}
-
// InstanceUpgradeOptions is a struct representing the options for upgrading a Linode
type InstanceUpgradeOptions struct {
// Automatically resize disks when resizing a Linode.
diff --git a/interfaces.go b/interfaces.go
index 625d77cde..a5c5bb5ba 100644
--- a/interfaces.go
+++ b/interfaces.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
type LinodeInterface struct {
@@ -26,8 +26,18 @@ type LinodeInterface struct {
}
type InterfaceDefaultRoute struct {
- IPv4 *bool `json:"ipv4,omitempty"`
- IPv6 *bool `json:"ipv6,omitempty"`
+ IPv4 *bool `json:"ipv4,omitzero"`
+ IPv6 *bool `json:"ipv6,omitzero"`
+}
+
+type InterfaceDefaultRouteCreateOptions struct {
+ IPv4 *bool `json:"ipv4,omitzero"`
+ IPv6 *bool `json:"ipv6,omitzero"`
+}
+
+type InterfaceDefaultRouteUpdateOptions struct {
+ IPv4 *bool `json:"ipv4,omitzero"`
+ IPv6 *bool `json:"ipv6,omitzero"`
}
type PublicInterface struct {
@@ -113,7 +123,12 @@ type VPCInterfaceIPv6Range struct {
type VLANInterface struct {
VLANLabel string `json:"vlan_label"`
- IPAMAddress *string `json:"ipam_address,omitempty"`
+ IPAMAddress *string `json:"ipam_address,omitzero"`
+}
+
+type VLANInterfaceCreateOptions struct {
+ VLANLabel string `json:"vlan_label"`
+ IPAMAddress *string `json:"ipam_address,omitzero"`
}
// RDMAVPCInterface contains information about an RDMA VPC interface attached
@@ -140,11 +155,11 @@ type RDMAVPCInterfaceIPv4Address struct {
}
type LinodeInterfaceCreateOptions struct {
- FirewallID *int `json:"firewall_id,omitempty"`
- DefaultRoute *InterfaceDefaultRoute `json:"default_route,omitempty"`
- Public *PublicInterfaceCreateOptions `json:"public,omitempty"`
- VPC *VPCInterfaceCreateOptions `json:"vpc,omitempty"`
- VLAN *VLANInterface `json:"vlan,omitempty"`
+ FirewallID *int `json:"firewall_id,omitzero"`
+ DefaultRoute *InterfaceDefaultRouteCreateOptions `json:"default_route,omitzero"`
+ Public *PublicInterfaceCreateOptions `json:"public,omitzero"`
+ VPC *VPCInterfaceCreateOptions `json:"vpc,omitzero"`
+ VLAN *VLANInterfaceCreateOptions `json:"vlan,omitzero"`
}
// LinodeInstanceInterfaceCreateOptions specifies a Linode Interface to be
@@ -162,30 +177,30 @@ type LinodeInstanceInterfaceCreateOptions struct {
}
type LinodeInterfaceUpdateOptions struct {
- DefaultRoute *InterfaceDefaultRoute `json:"default_route,omitempty"`
- Public *PublicInterfaceCreateOptions `json:"public,omitempty"`
- VPC *VPCInterfaceUpdateOptions `json:"vpc,omitempty"`
+ DefaultRoute *InterfaceDefaultRouteUpdateOptions `json:"default_route,omitzero"`
+ Public *PublicInterfaceCreateOptions `json:"public,omitzero"`
+ VPC *VPCInterfaceUpdateOptions `json:"vpc,omitzero"`
// NOTE: RDMA VPC interfaces may not currently be available to all users.
RDMAVPC *RDMAVPCInterfaceUpdateOptions `json:"rdma_vpc,omitzero"`
}
type PublicInterfaceCreateOptions struct {
- IPv4 *PublicInterfaceIPv4CreateOptions `json:"ipv4,omitempty"`
- IPv6 *PublicInterfaceIPv6CreateOptions `json:"ipv6,omitempty"`
+ IPv4 *PublicInterfaceIPv4CreateOptions `json:"ipv4,omitzero"`
+ IPv6 *PublicInterfaceIPv6CreateOptions `json:"ipv6,omitzero"`
}
type PublicInterfaceIPv4CreateOptions struct {
- Addresses *[]PublicInterfaceIPv4AddressCreateOptions `json:"addresses,omitempty"`
+ Addresses []PublicInterfaceIPv4AddressCreateOptions `json:"addresses,omitzero"`
}
type PublicInterfaceIPv4AddressCreateOptions struct {
- Address *string `json:"address,omitempty"`
- Primary *bool `json:"primary,omitempty"`
+ Address *string `json:"address,omitzero"`
+ Primary *bool `json:"primary,omitzero"`
}
type PublicInterfaceIPv6CreateOptions struct {
- Ranges *[]PublicInterfaceIPv6RangeCreateOptions `json:"ranges,omitempty"`
+ Ranges []PublicInterfaceIPv6RangeCreateOptions `json:"ranges,omitzero"`
}
type PublicInterfaceIPv6RangeCreateOptions struct {
@@ -194,19 +209,19 @@ type PublicInterfaceIPv6RangeCreateOptions struct {
type VPCInterfaceCreateOptions struct {
SubnetID int `json:"subnet_id"`
- IPv4 *VPCInterfaceIPv4CreateOptions `json:"ipv4,omitempty"`
- IPv6 *VPCInterfaceIPv6CreateOptions `json:"ipv6,omitempty"`
+ IPv4 *VPCInterfaceIPv4CreateOptions `json:"ipv4,omitzero"`
+ IPv6 *VPCInterfaceIPv6CreateOptions `json:"ipv6,omitzero"`
}
type VPCInterfaceIPv4CreateOptions struct {
- Addresses *[]VPCInterfaceIPv4AddressCreateOptions `json:"addresses,omitempty"`
- Ranges *[]VPCInterfaceIPv4RangeCreateOptions `json:"ranges,omitempty"`
+ Addresses []VPCInterfaceIPv4AddressCreateOptions `json:"addresses,omitzero"`
+ Ranges []VPCInterfaceIPv4RangeCreateOptions `json:"ranges,omitzero"`
}
type VPCInterfaceIPv4AddressCreateOptions struct {
- Address *string `json:"address,omitempty"`
- Primary *bool `json:"primary,omitempty"`
- NAT1To1Address *string `json:"nat_1_1_address,omitempty"`
+ Address *string `json:"address,omitzero"`
+ Primary *bool `json:"primary,omitzero"`
+ NAT1To1Address *string `json:"nat_1_1_address,omitzero"`
}
type VPCInterfaceIPv4RangeCreateOptions struct {
@@ -216,9 +231,9 @@ type VPCInterfaceIPv4RangeCreateOptions struct {
// VPCInterfaceIPv6CreateOptions specifies IPv6 configuration parameters for VPC creation.
// NOTE: IPv6 interfaces may not currently be available to all users.
type VPCInterfaceIPv6CreateOptions struct {
- SLAAC *[]VPCInterfaceIPv6SLAACCreateOptions `json:"slaac,omitempty"`
- Ranges *[]VPCInterfaceIPv6RangeCreateOptions `json:"ranges,omitempty"`
- IsPublic *bool `json:"is_public"`
+ SLAAC []VPCInterfaceIPv6SLAACCreateOptions `json:"slaac,omitzero"`
+ Ranges []VPCInterfaceIPv6RangeCreateOptions `json:"ranges,omitzero"`
+ IsPublic *bool `json:"is_public"`
}
// VPCInterfaceIPv6SLAACCreateOptions defines the IPv6 SLAAC configuration parameters for VPC creation.
@@ -234,8 +249,8 @@ type VPCInterfaceIPv6RangeCreateOptions struct {
}
type VPCInterfaceUpdateOptions struct {
- IPv4 *VPCInterfaceIPv4CreateOptions `json:"ipv4,omitempty"`
- IPv6 *VPCInterfaceIPv6CreateOptions `json:"ipv6,omitempty"`
+ IPv4 *VPCInterfaceIPv4CreateOptions `json:"ipv4,omitzero"`
+ IPv6 *VPCInterfaceIPv6CreateOptions `json:"ipv6,omitzero"`
}
// RDMAVPCInterfaceCreateOptions specifies parameters for creating an RDMA VPC
@@ -276,8 +291,8 @@ type LinodeInterfacesUpgrade struct {
}
type LinodeInterfacesUpgradeOptions struct {
- ConfigID *int `json:"config_id,omitempty"`
- DryRun *bool `json:"dry_run,omitempty"`
+ ConfigID *int `json:"config_id,omitzero"`
+ DryRun *bool `json:"dry_run,omitzero"`
}
type InterfaceSettings struct {
@@ -286,13 +301,13 @@ type InterfaceSettings struct {
}
type InterfaceSettingsUpdateOptions struct {
- NetworkHelper *bool `json:"network_helper,omitempty"`
- DefaultRoute *InterfaceDefaultRouteSettingUpdateOptions `json:"default_route,omitempty"`
+ NetworkHelper *bool `json:"network_helper,omitzero"`
+ DefaultRoute *InterfaceDefaultRouteSettingUpdateOptions `json:"default_route,omitzero"`
}
type InterfaceDefaultRouteSettingUpdateOptions struct {
- IPv4InterfaceID *int `json:"ipv4_interface_id,omitempty"`
- IPv6InterfaceID *int `json:"ipv6_interface_id,omitempty"`
+ IPv4InterfaceID *int `json:"ipv4_interface_id,omitzero"`
+ IPv6InterfaceID *int `json:"ipv6_interface_id,omitzero"`
}
type InterfaceDefaultRouteSetting struct {
diff --git a/internal/testutil/mock.go b/internal/testutil/mock.go
index c8235ce65..9f65253a8 100644
--- a/internal/testutil/mock.go
+++ b/internal/testutil/mock.go
@@ -98,6 +98,32 @@ func CreateMockClient[T any](t *testing.T, createFunc func(*http.Client) T) *T {
return &result
}
+// CreateMockClientWithError is generic because importing the linodego package
+// will result in a cyclic dependency. This pattern isn't ideal but works for now.
+func CreateMockClientWithError[T any](t *testing.T, createFunc func(*http.Client) (T, error)) *T {
+ t.Helper()
+
+ tokenSource := oauth2.StaticTokenSource(&oauth2.Token{AccessToken: validTestAPIKey})
+
+ client := &http.Client{
+ Transport: &oauth2.Transport{
+ Source: tokenSource,
+ },
+ }
+ httpmock.ActivateNonDefault(client)
+
+ t.Cleanup(func() {
+ httpmock.DeactivateAndReset()
+ })
+
+ result, err := createFunc(client)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ return &result
+}
+
type Logger interface {
Errorf(format string, v ...any)
Warnf(format string, v ...any)
@@ -116,15 +142,15 @@ type TestLogger struct {
}
func (l *TestLogger) Errorf(format string, v ...any) {
- l.outputf("ERROR RESTY "+format, v...)
+ l.outputf("ERROR "+format, v...)
}
func (l *TestLogger) Warnf(format string, v ...any) {
- l.outputf("WARN RESTY "+format, v...)
+ l.outputf("WARN "+format, v...)
}
func (l *TestLogger) Debugf(format string, v ...any) {
- l.outputf("DEBUG RESTY "+format, v...)
+ l.outputf("DEBUG "+format, v...)
}
func (l *TestLogger) outputf(format string, v ...any) {
diff --git a/k8s/clientset.go b/k8s/clientset.go
index b9f70dd37..3cd2771cb 100644
--- a/k8s/clientset.go
+++ b/k8s/clientset.go
@@ -4,7 +4,7 @@ import (
"encoding/base64"
"fmt"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/clientcmd"
"k8s.io/client-go/transport"
diff --git a/k8s/go.mod b/k8s/go.mod
index d898d8363..d81b5f0da 100644
--- a/k8s/go.mod
+++ b/k8s/go.mod
@@ -1,53 +1,53 @@
module github.com/linode/linodego/k8s
require (
- github.com/linode/linodego v1.33.0
- k8s.io/api v0.29.4
- k8s.io/apimachinery v0.29.4
- k8s.io/client-go v0.29.4
+ github.com/linode/linodego/v2 v2.0.0
+ k8s.io/api v0.35.5
+ k8s.io/apimachinery v0.35.5
+ k8s.io/client-go v0.35.5
)
require (
- github.com/davecgh/go-spew v1.1.1 // indirect
- github.com/emicklei/go-restful/v3 v3.11.0 // indirect
- github.com/go-logr/logr v1.3.0 // indirect
- github.com/go-openapi/jsonpointer v0.19.6 // indirect
+ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
+ github.com/emicklei/go-restful/v3 v3.13.0 // indirect
+ github.com/fxamacker/cbor/v2 v2.9.0 // indirect
+ github.com/go-logr/logr v1.4.3 // indirect
+ github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/jsonreference v0.20.2 // indirect
- github.com/go-openapi/swag v0.22.3 // indirect
- github.com/go-resty/resty/v2 v2.17.2 // indirect
- github.com/gogo/protobuf v1.3.2 // indirect
- github.com/golang/protobuf v1.5.4 // indirect
- github.com/google/gnostic-models v0.6.8 // indirect
+ github.com/go-openapi/swag v0.23.0 // indirect
+ github.com/google/gnostic-models v0.7.0 // indirect
github.com/google/go-querystring v1.2.0 // indirect
- github.com/google/gofuzz v1.2.0 // indirect
- github.com/google/uuid v1.3.0 // indirect
- github.com/imdario/mergo v0.3.6 // indirect
+ github.com/google/uuid v1.6.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
- github.com/modern-go/reflect2 v1.0.2 // indirect
+ github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
- github.com/spf13/pflag v1.0.5 // indirect
- golang.org/x/net v0.54.0 // indirect
+ github.com/spf13/pflag v1.0.9 // indirect
+ github.com/x448/float16 v0.8.4 // indirect
+ go.yaml.in/yaml/v2 v2.4.3 // indirect
+ go.yaml.in/yaml/v3 v3.0.4 // indirect
+ golang.org/x/net v0.55.0 // indirect
golang.org/x/oauth2 v0.36.0 // indirect
- golang.org/x/sys v0.44.0 // indirect
+ golang.org/x/sys v0.45.0 // indirect
golang.org/x/term v0.43.0 // indirect
golang.org/x/text v0.37.0 // indirect
- golang.org/x/time v0.12.0 // indirect
- google.golang.org/protobuf v1.33.0 // indirect
+ golang.org/x/time v0.14.0 // indirect
+ google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect
+ gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.67.2 // indirect
- gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
- k8s.io/klog/v2 v2.110.1 // indirect
- k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
- k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
- sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
- sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
- sigs.k8s.io/yaml v1.3.0 // indirect
+ k8s.io/klog/v2 v2.140.0 // indirect
+ k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a // indirect
+ k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 // indirect
+ sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
+ sigs.k8s.io/randfill v1.0.0 // indirect
+ sigs.k8s.io/structured-merge-diff/v6 v6.3.2 // indirect
+ sigs.k8s.io/yaml v1.6.0 // indirect
)
-replace github.com/linode/linodego => ../
+replace github.com/linode/linodego/v2 => ../
go 1.25.0
diff --git a/k8s/go.sum b/k8s/go.sum
index c5754b90f..bee7016f6 100644
--- a/k8s/go.sum
+++ b/k8s/go.sum
@@ -1,50 +1,38 @@
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
-github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
-github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY=
-github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
-github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE=
+github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
+github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes=
+github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
+github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM=
+github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ=
+github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
+github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
+github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
+github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE=
github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k=
-github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g=
github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
-github.com/go-resty/resty/v2 v2.17.2 h1:FQW5oHYcIlkCNrMD2lloGScxcHJ0gkjshV3qcQAyHQk=
-github.com/go-resty/resty/v2 v2.17.2/go.mod h1:kCKZ3wWmwJaNc7S29BRtUhJwy7iqmn+2mLtQrOyQlVA=
-github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
-github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls=
-github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
-github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
-github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
-github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
-github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
-github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
-github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
+github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
+github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo=
+github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/go-querystring v1.2.0 h1:yhqkPbu2/OH+V9BfpCVPZkNmUXhb2gBxJArfhIxNtP0=
github.com/google/go-querystring v1.2.0/go.mod h1:8IFJqpSRITyJ8QhQ13bmbeMBDfmeEJZD5A0egEOmkqU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
-github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec=
-github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
-github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28=
-github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
+github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
+github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/jarcoal/httpmock v1.4.1 h1:0Ju+VCFuARfFlhVXFc2HxlcQkfB+Xq12/EotHko+x2A=
github.com/jarcoal/httpmock v1.4.1/go.mod h1:ftW1xULwo+j0R0JJkJIIi7UKigZUXCLLanykgjwBXL0=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
-github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
-github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
@@ -57,23 +45,22 @@ github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJ
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
+github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
+github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
-github.com/onsi/ginkgo/v2 v2.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4=
-github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o=
-github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg=
-github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
-github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
-github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
-github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
+github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
+github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
+github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
+github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
+github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
+github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
@@ -82,77 +69,55 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
-github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.54.0 h1:2zJIZAxAHV/OHCDTCOHAYehQzLfSXuf/5SoL/Dv6w/w=
-golang.org/x/net v0.54.0/go.mod h1:Sj4oj8jK6XmHpBZU/zWHw3BV3abl4Kvi+Ut7cQcY+cQ=
+github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
+github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
+go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0=
+go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8=
+go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
+go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
+golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8=
+golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww=
golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs=
golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q=
-golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ=
-golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
+golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY=
+golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4=
golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk=
-golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc=
golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38=
-golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
-golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
-golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c=
-golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI=
-golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
-google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI=
+golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=
+google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI=
+google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
+gopkg.in/evanphx/json-patch.v4 v4.13.0 h1:czT3CmqEaQ1aanPc5SdlgQrrEIb8w/wwCvWWnfEbYzo=
+gopkg.in/evanphx/json-patch.v4 v4.13.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M=
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/ini.v1 v1.67.2 h1:JtOSMb9OuaCZKr7h5D/h6iii14sK0hLbplTc6frx4Ss=
gopkg.in/ini.v1 v1.67.2/go.mod h1:x/cyOwCgZqOkJoDIJ3c1KNHMo10+nLGAhh+kn3Zizss=
-gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
-gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-k8s.io/api v0.29.4 h1:WEnF/XdxuCxdG3ayHNRR8yH3cI1B/llkWBma6bq4R3w=
-k8s.io/api v0.29.4/go.mod h1:DetSv0t4FBTcEpfA84NJV3g9a7+rSzlUHk5ADAYHUv0=
-k8s.io/apimachinery v0.29.4 h1:RaFdJiDmuKs/8cm1M6Dh1Kvyh59YQFDcFuFTSmXes6Q=
-k8s.io/apimachinery v0.29.4/go.mod h1:i3FJVwhvSp/6n8Fl4K97PJEP8C+MM+aoDq4+ZJBf70Y=
-k8s.io/client-go v0.29.4 h1:79ytIedxVfyXV8rpH3jCBW0u+un0fxHDwX5F9K8dPR8=
-k8s.io/client-go v0.29.4/go.mod h1:kC1thZQ4zQWYwldsfI088BbK6RkxK+aF5ebV8y9Q4tk=
-k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0=
-k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo=
-k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780=
-k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA=
-k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI=
-k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
-sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
-sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
-sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
-sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
-sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
-sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
+k8s.io/api v0.35.5 h1:BrFeUDGY/LBtlA1R5RoxhlYRHs76RnQBc6xbm/y7hsQ=
+k8s.io/api v0.35.5/go.mod h1:xWkFhMnoPZdTAQh95Rlw3zZpUUNVlFHcuESUYd06BWM=
+k8s.io/apimachinery v0.35.5 h1:lbjjjUfVeVqFbiOpyhqZHc8DhiYkWOxSNij7lHx2U8Y=
+k8s.io/apimachinery v0.35.5/go.mod h1:NNi1taPOpep0jOj+oRha3mBJPqvi0hGdaV8TCqGQ+cc=
+k8s.io/client-go v0.35.5 h1:wUrgqVSmFRw75bgSHY7X0G/hZM/QYpV0Hg7SYYOYpFk=
+k8s.io/client-go v0.35.5/go.mod h1:Z0mDcAJsX1Y7RQfuQlJipiRtqf8Mhk2VDu1/JvRqdGo=
+k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc=
+k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0=
+k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a h1:xCeOEAOoGYl2jnJoHkC3hkbPJgdATINPMAxaynU2Ovg=
+k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0=
+k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 h1:AZYQSJemyQB5eRxqcPky+/7EdBj0xi3g0ZcxxJ7vbWU=
+k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk=
+sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg=
+sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
+sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=
+sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
+sigs.k8s.io/structured-merge-diff/v6 v6.3.2 h1:kwVWMx5yS1CrnFWA/2QHyRVJ8jM6dBA80uLmm0wJkk8=
+sigs.k8s.io/structured-merge-diff/v6 v6.3.2/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE=
+sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs=
+sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4=
diff --git a/k8s/pkg/condition/lke.go b/k8s/pkg/condition/lke.go
index e951408c3..cc65c6578 100644
--- a/k8s/pkg/condition/lke.go
+++ b/k8s/pkg/condition/lke.go
@@ -4,8 +4,8 @@ import (
"context"
"fmt"
- "github.com/linode/linodego"
"github.com/linode/linodego/k8s"
+ "github.com/linode/linodego/v2"
corev1 "k8s.io/api/core/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
diff --git a/kernels.go b/kernels.go
index 11d647dba..d18aaa822 100644
--- a/kernels.go
+++ b/kernels.go
@@ -5,21 +5,19 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// LinodeKernel represents a Linode Instance kernel object
type LinodeKernel struct {
- ID string `json:"id"`
- Label string `json:"label"`
- Version string `json:"version"`
- Architecture string `json:"architecture"`
- Deprecated bool `json:"deprecated"`
- KVM bool `json:"kvm"`
- // Deprecated: this field is no longer populated by the API, but it is included here for backward compatibility with existing implementations.
- XEN bool `json:"xen"`
- PVOPS bool `json:"pvops"`
- Built *time.Time `json:"-"`
+ ID string `json:"id"`
+ Label string `json:"label"`
+ Version string `json:"version"`
+ Architecture string `json:"architecture"`
+ Deprecated bool `json:"deprecated"`
+ KVM bool `json:"kvm"`
+ PVOPS bool `json:"pvops"`
+ Built *time.Time `json:"-"`
}
// UnmarshalJSON implements the json.Unmarshaler interface
diff --git a/lke_cluster_pools.go b/lke_cluster_pools.go
deleted file mode 100644
index 5f5207655..000000000
--- a/lke_cluster_pools.go
+++ /dev/null
@@ -1,53 +0,0 @@
-package linodego
-
-import (
- "context"
-)
-
-// Deprecated: LKEClusterPoolDisk represents a Node disk in an LKEClusterPool object
-type LKEClusterPoolDisk = LKENodePoolDisk
-
-// Deprecated: LKEClusterPoolAutoscaler represents an AutoScaler configuration
-type LKEClusterPoolAutoscaler = LKENodePoolAutoscaler
-
-// Deprecated: LKEClusterPoolLinode represents a LKEClusterPoolLinode object
-type LKEClusterPoolLinode = LKENodePoolLinode
-
-// Deprecated: LKEClusterPool represents a LKEClusterPool object
-type LKEClusterPool = LKENodePool
-
-// Deprecated: LKEClusterPoolCreateOptions fields are those accepted by CreateLKEClusterPool
-type LKEClusterPoolCreateOptions = LKENodePoolCreateOptions
-
-// Deprecated: LKEClusterPoolUpdateOptions fields are those accepted by UpdateLKEClusterPool
-type LKEClusterPoolUpdateOptions = LKENodePoolUpdateOptions
-
-// Deprecated: ListLKEClusterPools lists LKEClusterPools
-func (c *Client) ListLKEClusterPools(ctx context.Context, clusterID int, opts *ListOptions) ([]LKEClusterPool, error) {
- return c.ListLKENodePools(ctx, clusterID, opts)
-}
-
-// Deprecated: GetLKEClusterPool gets the lkeClusterPool with the provided ID
-func (c *Client) GetLKEClusterPool(ctx context.Context, clusterID, id int) (*LKEClusterPool, error) {
- return c.GetLKENodePool(ctx, clusterID, id)
-}
-
-// Deprecated: CreateLKEClusterPool creates a LKEClusterPool
-func (c *Client) CreateLKEClusterPool(ctx context.Context, clusterID int, createOpts LKEClusterPoolCreateOptions) (*LKEClusterPool, error) {
- return c.CreateLKENodePool(ctx, clusterID, createOpts)
-}
-
-// Deprecated: UpdateLKEClusterPool updates the LKEClusterPool with the specified id
-func (c *Client) UpdateLKEClusterPool(ctx context.Context, clusterID, id int, updateOpts LKEClusterPoolUpdateOptions) (*LKEClusterPool, error) {
- return c.UpdateLKENodePool(ctx, clusterID, id, updateOpts)
-}
-
-// Deprecated: DeleteLKEClusterPool deletes the LKEClusterPool with the specified id
-func (c *Client) DeleteLKEClusterPool(ctx context.Context, clusterID, id int) error {
- return c.DeleteLKENodePool(ctx, clusterID, id)
-}
-
-// Deprecated: DeleteLKEClusterPoolNode deletes a given node from a cluster pool
-func (c *Client) DeleteLKEClusterPoolNode(ctx context.Context, clusterID int, id string) error {
- return c.DeleteLKENodePoolNode(ctx, clusterID, id)
-}
diff --git a/lke_clusters.go b/lke_clusters.go
index 786b6faaf..2e7f21feb 100644
--- a/lke_clusters.go
+++ b/lke_clusters.go
@@ -6,7 +6,7 @@ import (
"fmt"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// LKEClusterStatus represents the status of an LKECluster
@@ -47,6 +47,9 @@ type LKECluster struct {
SubnetID int `json:"subnet_id"`
VpcID int `json:"vpc_id"`
StackType LKEClusterStackType `json:"stack_type"`
+
+ // NOTE: Locks can only be used with v4beta.
+ Locks []LockType `json:"locks"`
}
// LKEClusterCreateOptions fields are those accepted by CreateLKECluster
@@ -55,27 +58,27 @@ type LKEClusterCreateOptions struct {
Label string `json:"label"`
Region string `json:"region"`
K8sVersion string `json:"k8s_version"`
- Tags []string `json:"tags,omitempty"`
- ControlPlane *LKEClusterControlPlaneOptions `json:"control_plane,omitempty"`
+ Tags []string `json:"tags,omitzero"`
+ ControlPlane *LKEClusterControlPlaneOptions `json:"control_plane,omitzero"`
// NOTE: Tier may not currently be available to all users and can only be used with v4beta.
- Tier string `json:"tier,omitempty"`
+ Tier string `json:"tier,omitzero"`
// NOTE: APLEnabled is currently in beta and may only function with API version v4beta.
- APLEnabled bool `json:"apl_enabled,omitempty"`
+ APLEnabled bool `json:"apl_enabled,omitzero"`
// NOTE: SubnetID, VpcID, and StackType may not currently be available to all users and can only be used with v4beta.
- SubnetID *int `json:"subnet_id,omitempty"`
- VpcID *int `json:"vpc_id,omitempty"`
- StackType *LKEClusterStackType `json:"stack_type,omitempty"`
+ SubnetID *int `json:"subnet_id,omitzero"`
+ VpcID *int `json:"vpc_id,omitzero"`
+ StackType *LKEClusterStackType `json:"stack_type,omitzero"`
}
// LKEClusterUpdateOptions fields are those accepted by UpdateLKECluster
type LKEClusterUpdateOptions struct {
- K8sVersion string `json:"k8s_version,omitempty"`
- Label string `json:"label,omitempty"`
- Tags *[]string `json:"tags,omitempty"`
- ControlPlane *LKEClusterControlPlaneOptions `json:"control_plane,omitempty"`
+ K8sVersion string `json:"k8s_version,omitzero"`
+ Label string `json:"label,omitzero"`
+ Tags []string `json:"tags,omitzero"`
+ ControlPlane *LKEClusterControlPlaneOptions `json:"control_plane,omitzero"`
}
// LKEClusterAPIEndpoint fields are those returned by ListLKEClusterAPIEndpoints
@@ -88,11 +91,6 @@ type LKEClusterKubeconfig struct {
KubeConfig string `json:"kubeconfig"` // Base64-encoded Kubeconfig file for this Cluster.
}
-// LKEClusterDashboard fields are those returned by GetLKEClusterDashboard
-type LKEClusterDashboard struct {
- URL string `json:"url"`
-}
-
// LKEVersion fields are those returned by GetLKEVersion
type LKEVersion struct {
ID string `json:"id"`
@@ -165,7 +163,7 @@ func (i LKECluster) GetCreateOptions() (o LKEClusterCreateOptions) {
func (i LKECluster) GetUpdateOptions() (o LKEClusterUpdateOptions) {
o.K8sVersion = i.K8sVersion
o.Label = i.Label
- o.Tags = &i.Tags
+ o.Tags = i.Tags
isHA := i.ControlPlane.HighAvailability
@@ -276,12 +274,6 @@ func (c *Client) DeleteLKEClusterKubeconfig(ctx context.Context, clusterID int)
return doDELETERequest(ctx, c, e)
}
-// GetLKEClusterDashboard gets information about the dashboard for an LKE cluster
-func (c *Client) GetLKEClusterDashboard(ctx context.Context, clusterID int) (*LKEClusterDashboard, error) {
- e := formatAPIPath("lke/clusters/%d/dashboard", clusterID)
- return doGETRequest[LKEClusterDashboard](ctx, c, e)
-}
-
// RecycleLKEClusterNodes recycles all nodes in all pools of the specified LKE Cluster.
func (c *Client) RecycleLKEClusterNodes(ctx context.Context, clusterID int) error {
e := formatAPIPath("lke/clusters/%d/recycle", clusterID)
diff --git a/lke_clusters_control_plane.go b/lke_clusters_control_plane.go
index 5a3544a25..86a062186 100644
--- a/lke_clusters_control_plane.go
+++ b/lke_clusters_control_plane.go
@@ -7,7 +7,7 @@ type LKEClusterControlPlane struct {
HighAvailability bool `json:"high_availability"`
// AuditLogsEnabled may not currently be available to all users and can only be used with v4beta.
- AuditLogsEnabled bool `json:"audit_logs_enabled,omitempty"`
+ AuditLogsEnabled bool `json:"audit_logs_enabled,omitzero"`
}
// LKEClusterControlPlaneACLAddresses describes the
@@ -28,26 +28,26 @@ type LKEClusterControlPlaneACL struct {
// LKEClusterControlPlaneACLAddressesOptions are the options used to
// specify the allowed IP ranges for an LKE cluster's control plane.
type LKEClusterControlPlaneACLAddressesOptions struct {
- IPv4 *[]string `json:"ipv4,omitempty"`
- IPv6 *[]string `json:"ipv6,omitempty"`
+ IPv4 []string `json:"ipv4,omitzero"`
+ IPv6 []string `json:"ipv6,omitzero"`
}
// LKEClusterControlPlaneACLOptions represents the options used when
// configuring an LKE cluster's control plane ACL policy.
type LKEClusterControlPlaneACLOptions struct {
- Enabled *bool `json:"enabled,omitempty"`
- Addresses *LKEClusterControlPlaneACLAddressesOptions `json:"addresses,omitempty"`
- RevisionID string `json:"revision-id,omitempty"`
+ Enabled *bool `json:"enabled,omitzero"`
+ Addresses *LKEClusterControlPlaneACLAddressesOptions `json:"addresses,omitzero"`
+ RevisionID string `json:"revision-id,omitzero"`
}
// LKEClusterControlPlaneOptions represents the options used when
// configuring an LKE cluster's control plane.
type LKEClusterControlPlaneOptions struct {
- HighAvailability *bool `json:"high_availability,omitempty"`
- ACL *LKEClusterControlPlaneACLOptions `json:"acl,omitempty"`
+ HighAvailability *bool `json:"high_availability,omitzero"`
+ ACL *LKEClusterControlPlaneACLOptions `json:"acl,omitzero"`
// AuditLogsEnabled may not currently be available to all users and can only be used with v4beta.
- AuditLogsEnabled *bool `json:"audit_logs_enabled,omitempty"`
+ AuditLogsEnabled *bool `json:"audit_logs_enabled,omitzero"`
}
// LKEClusterControlPlaneACLUpdateOptions represents the options
diff --git a/lke_node_pools.go b/lke_node_pools.go
index b50507d6d..85e6af2c7 100644
--- a/lke_node_pools.go
+++ b/lke_node_pools.go
@@ -55,10 +55,22 @@ const (
// LKENodePoolTaint represents a corev1.Taint to add to an LKENodePool
type LKENodePoolTaint struct {
Key string `json:"key"`
- Value string `json:"value,omitempty"`
+ Value string `json:"value,omitzero"`
Effect LKENodePoolTaintEffect `json:"effect"`
}
+// LKENodePoolIsolation controls network isolation for nodes in the pool.
+type LKENodePoolIsolation struct {
+ PublicIPv4 bool `json:"public_ipv4"`
+ PublicIPv6 bool `json:"public_ipv6"`
+}
+
+// LKENodePoolIsolationCreateOptions controls network isolation for node pool create requests.
+type LKENodePoolIsolationCreateOptions struct {
+ PublicIPv4 *bool `json:"public_ipv4,omitzero"`
+ PublicIPv6 *bool `json:"public_ipv6,omitzero"`
+}
+
// LKENodePoolLabels represents Kubernetes labels to add to an LKENodePool
type LKENodePoolLabels map[string]string
@@ -75,14 +87,20 @@ type LKENodePool struct {
Label *string `json:"label"`
Autoscaler LKENodePoolAutoscaler `json:"autoscaler"`
- FirewallID *int `json:"firewall_id,omitempty"`
+ FirewallID *int `json:"firewall_id,omitzero"`
+
+ DiskEncryption InstanceDiskEncryption `json:"disk_encryption,omitzero"`
- DiskEncryption InstanceDiskEncryption `json:"disk_encryption,omitempty"`
+ // Isolation may not currently be available to all users.
+ Isolation *LKENodePoolIsolation `json:"isolation"`
// K8sVersion and UpdateStrategy are only for LKE Enterprise to support node pool upgrades.
// It may not currently be available to all users and is under v4beta.
- K8sVersion *string `json:"k8s_version,omitempty"`
- UpdateStrategy *LKENodePoolUpdateStrategy `json:"update_strategy,omitempty"`
+ K8sVersion *string `json:"k8s_version,omitzero"`
+ UpdateStrategy *LKENodePoolUpdateStrategy `json:"update_strategy,omitzero"`
+
+ // NOTE: Only cannot_delete applies to LKE node pools and can only be used with v4beta.
+ Locks []LockType `json:"locks"`
}
// LKENodePoolCreateOptions fields are those accepted by CreateLKENodePool
@@ -93,34 +111,37 @@ type LKENodePoolCreateOptions struct {
Tags []string `json:"tags"`
Labels LKENodePoolLabels `json:"labels"`
Taints []LKENodePoolTaint `json:"taints"`
- Label *string `json:"label,omitempty"`
+ Label *string `json:"label,omitzero"`
+
+ Autoscaler *LKENodePoolAutoscaler `json:"autoscaler,omitzero"`
+ FirewallID *int `json:"firewall_id,omitzero"`
- Autoscaler *LKENodePoolAutoscaler `json:"autoscaler,omitempty"`
- FirewallID *int `json:"firewall_id,omitempty"`
+ // Isolation may not currently be available to all users.
+ Isolation *LKENodePoolIsolationCreateOptions `json:"isolation,omitzero"`
// K8sVersion and UpdateStrategy only works for LKE Enterprise to support node pool upgrades.
// It may not currently be available to all users and is under v4beta.
- K8sVersion *string `json:"k8s_version,omitempty"`
- UpdateStrategy *LKENodePoolUpdateStrategy `json:"update_strategy,omitempty"`
+ K8sVersion *string `json:"k8s_version,omitzero"`
+ UpdateStrategy *LKENodePoolUpdateStrategy `json:"update_strategy,omitzero"`
- DiskEncryption *InstanceDiskEncryption `json:"disk_encryption,omitempty"`
+ DiskEncryption *InstanceDiskEncryption `json:"disk_encryption,omitzero"`
}
// LKENodePoolUpdateOptions fields are those accepted by UpdateLKENodePoolUpdate
type LKENodePoolUpdateOptions struct {
- Count int `json:"count,omitempty"`
- Tags *[]string `json:"tags,omitempty"`
- Labels *LKENodePoolLabels `json:"labels,omitempty"`
- Taints *[]LKENodePoolTaint `json:"taints,omitempty"`
- Label *string `json:"label,omitempty"`
+ Count int `json:"count,omitzero"`
+ Tags []string `json:"tags,omitzero"`
+ Labels *LKENodePoolLabels `json:"labels,omitzero"`
+ Taints []LKENodePoolTaint `json:"taints,omitzero"`
+ Label *string `json:"label,omitzero"`
- Autoscaler *LKENodePoolAutoscaler `json:"autoscaler,omitempty"`
- FirewallID *int `json:"firewall_id,omitempty"`
+ Autoscaler *LKENodePoolAutoscaler `json:"autoscaler,omitzero"`
+ FirewallID *int `json:"firewall_id,omitzero"`
// K8sVersion and UpdateStrategy only works for LKE Enterprise to support node pool upgrades.
// It may not currently be available to all users and is under v4beta.
- K8sVersion *string `json:"k8s_version,omitempty"`
- UpdateStrategy *LKENodePoolUpdateStrategy `json:"update_strategy,omitempty"`
+ K8sVersion *string `json:"k8s_version,omitzero"`
+ UpdateStrategy *LKENodePoolUpdateStrategy `json:"update_strategy,omitzero"`
}
// GetCreateOptions converts a LKENodePool to LKENodePoolCreateOptions for
@@ -138,15 +159,22 @@ func (l LKENodePool) GetCreateOptions() (o LKENodePoolCreateOptions) {
o.FirewallID = l.FirewallID
o.DiskEncryption = &l.DiskEncryption
+ if l.Isolation != nil {
+ o.Isolation = &LKENodePoolIsolationCreateOptions{
+ PublicIPv4: Pointer(l.Isolation.PublicIPv4),
+ PublicIPv6: Pointer(l.Isolation.PublicIPv6),
+ }
+ }
+
return o
}
// GetUpdateOptions converts a LKENodePool to LKENodePoolUpdateOptions for use in UpdateLKENodePoolUpdate
func (l LKENodePool) GetUpdateOptions() (o LKENodePoolUpdateOptions) {
o.Count = l.Count
- o.Tags = &l.Tags
+ o.Tags = l.Tags
o.Labels = &l.Labels
- o.Taints = &l.Taints
+ o.Taints = l.Taints
o.Autoscaler = &l.Autoscaler
o.K8sVersion = l.K8sVersion
o.UpdateStrategy = l.UpdateStrategy
diff --git a/logger.go b/logger.go
index 890327e2b..fc9504b50 100644
--- a/logger.go
+++ b/logger.go
@@ -1,52 +1,54 @@
package linodego
import (
+ "fmt"
"log"
"os"
+ "strings"
)
-//nolint:unused
-type httpLogger interface {
+type Logger interface {
Errorf(format string, v ...any)
Warnf(format string, v ...any)
Debugf(format string, v ...any)
}
-//nolint:unused
type logger struct {
l *log.Logger
}
-//nolint:unused
func createLogger() *logger {
l := &logger{l: log.New(os.Stderr, "", log.Ldate|log.Lmicroseconds)}
return l
}
-//nolint:unused
-var _ httpLogger = (*logger)(nil)
+var _ Logger = (*logger)(nil)
-//nolint:unused
func (l *logger) Errorf(format string, v ...any) {
- l.output("ERROR RESTY "+format, v...)
+ l.output("ERROR "+format, v...)
}
-//nolint:unused
func (l *logger) Warnf(format string, v ...any) {
- l.output("WARN RESTY "+format, v...)
+ l.output("WARN "+format, v...)
}
-//nolint:unused
func (l *logger) Debugf(format string, v ...any) {
- l.output("DEBUG RESTY "+format, v...)
+ l.output("DEBUG "+format, v...)
}
-//nolint:unused
func (l *logger) output(format string, v ...any) { //nolint:goprintffuncname
+ // Render the final message first, then sanitize control characters
+ // to prevent log injection via both the format string and variadic args.
+ var msg string
if len(v) == 0 {
- l.l.Print(format)
- return
+ msg = format
+ } else {
+ msg = fmt.Sprintf(format, v...)
}
- l.l.Printf(format, v...)
+ msg = strings.ReplaceAll(msg, "\r\n", "\\n")
+ msg = strings.ReplaceAll(msg, "\r", "\\n")
+ msg = strings.ReplaceAll(msg, "\n", "\\n")
+
+ l.l.Print(msg)
}
diff --git a/longview.go b/longview.go
index 16be227e3..d5ce7074c 100644
--- a/longview.go
+++ b/longview.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// LongviewClient represents a LongviewClient object
diff --git a/monitor_alert_channels.go b/monitor_alert_channels.go
index f7afebd8e..7de93d86e 100644
--- a/monitor_alert_channels.go
+++ b/monitor_alert_channels.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
type AlertNotificationType string
diff --git a/monitor_alert_definitions.go b/monitor_alert_definitions.go
index bc057e8d9..a15188ef6 100644
--- a/monitor_alert_definitions.go
+++ b/monitor_alert_definitions.go
@@ -1,11 +1,13 @@
package linodego
import (
+ "bytes"
"context"
"encoding/json"
+ "net/http"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
type AlertDefinitionStatus string
@@ -65,26 +67,20 @@ type AlertDefinition struct {
Scope AlertDefinitionScope `json:"scope"`
Regions []string `json:"regions"`
Entities AlertDefinitionEntities `json:"entities"`
+ GroupBy []string `json:"group_by"`
}
-// Backwards-compatible alias
-
-// MonitorAlertDefinition represents an ACLP Alert Definition object
-//
-// Deprecated: AlertDefinition should be used in all new implementations.
-type MonitorAlertDefinition = AlertDefinition
-
// TriggerConditions represents the trigger conditions for an alert.
type TriggerConditions struct {
- CriteriaCondition string `json:"criteria_condition,omitempty"`
- EvaluationPeriodSeconds int `json:"evaluation_period_seconds,omitempty"`
- PollingIntervalSeconds int `json:"polling_interval_seconds,omitempty"`
- TriggerOccurrences int `json:"trigger_occurrences,omitempty"`
+ CriteriaCondition string `json:"criteria_condition,omitzero"`
+ EvaluationPeriodSeconds int `json:"evaluation_period_seconds,omitzero"`
+ PollingIntervalSeconds int `json:"polling_interval_seconds,omitzero"`
+ TriggerOccurrences int `json:"trigger_occurrences,omitzero"`
}
// RuleCriteria represents the rule criteria for an alert.
type RuleCriteria struct {
- Rules []Rule `json:"rules,omitempty"`
+ Rules []Rule `json:"rules,omitzero"`
}
// Rule represents a single rule for an alert.
@@ -108,23 +104,23 @@ type DimensionFilter struct {
// RuleCriteriaOptions represents the rule criteria options for an alert.
type RuleCriteriaOptions struct {
- Rules []RuleOptions `json:"rules,omitempty"`
+ Rules []RuleOptions `json:"rules,omitzero"`
}
// RuleOptions represents a single rule option for an alert.
type RuleOptions struct {
- AggregateFunction string `json:"aggregate_function,omitempty"`
- DimensionFilters []DimensionFilterOptions `json:"dimension_filters,omitempty"`
- Metric string `json:"metric,omitempty"`
- Operator string `json:"operator,omitempty"`
- Threshold float64 `json:"threshold,omitempty"`
+ AggregateFunction string `json:"aggregate_function,omitzero"`
+ DimensionFilters []DimensionFilterOptions `json:"dimension_filters,omitzero"`
+ Metric string `json:"metric,omitzero"`
+ Operator string `json:"operator,omitzero"`
+ Threshold float64 `json:"threshold,omitzero"`
}
// DimensionFilterOptions represents a single dimension filter option used inside a Rule.
type DimensionFilterOptions struct {
- DimensionLabel string `json:"dimension_label,omitempty"`
- Operator string `json:"operator,omitempty"`
- Value string `json:"value,omitempty"`
+ DimensionLabel string `json:"dimension_label,omitzero"`
+ Operator string `json:"operator,omitzero"`
+ Value string `json:"value,omitzero"`
}
// AlertChannelEnvelope represents a single alert channel entry returned inside alert definition
@@ -166,12 +162,13 @@ type AlertDefinitionCreateOptions struct {
Label string `json:"label"`
Severity int `json:"severity"`
ChannelIDs []int `json:"channel_ids"`
- RuleCriteria *RuleCriteriaOptions `json:"rule_criteria,omitempty"`
- TriggerConditions *TriggerConditions `json:"trigger_conditions,omitempty"`
- EntityIDs []string `json:"entity_ids,omitempty"`
- Description *string `json:"description,omitempty"`
- Scope AlertDefinitionScope `json:"scope,omitempty"`
+ RuleCriteria *RuleCriteriaOptions `json:"rule_criteria,omitzero"`
+ TriggerConditions *TriggerConditions `json:"trigger_conditions,omitzero"`
+ EntityIDs []string `json:"entity_ids,omitzero"`
+ Description *string `json:"description,omitzero"`
+ Scope AlertDefinitionScope `json:"scope,omitzero"`
Regions []string `json:"regions,omitzero"`
+ GroupBy []string `json:"group_by,omitzero"`
}
// AlertDefinitionUpdateOptions are the options used to update an alert definition.
@@ -179,12 +176,27 @@ type AlertDefinitionUpdateOptions struct {
Label string `json:"label"`
Severity int `json:"severity"`
ChannelIDs []int `json:"channel_ids"`
- RuleCriteria *RuleCriteriaOptions `json:"rule_criteria,omitempty"`
- TriggerConditions *TriggerConditions `json:"trigger_conditions,omitempty"`
- EntityIDs []string `json:"entity_ids,omitempty"`
- Description *string `json:"description,omitempty"`
- Status *AlertDefinitionStatus `json:"status,omitempty"`
+ RuleCriteria *RuleCriteriaOptions `json:"rule_criteria,omitzero"`
+ TriggerConditions *TriggerConditions `json:"trigger_conditions,omitzero"`
+ EntityIDs []string `json:"entity_ids,omitzero"`
+ Description *string `json:"description,omitzero"`
+ Status *AlertDefinitionStatus `json:"status,omitzero"`
Regions []string `json:"regions,omitzero"`
+ GroupBy []string `json:"group_by,omitzero"`
+}
+
+// AlertDefinitionCloneOptions are the options used to clone an existing alert definition.
+type AlertDefinitionCloneOptions struct {
+ Label string `json:"label"`
+ Severity *int `json:"severity,omitzero"`
+ ChannelIDs []int `json:"channel_ids,omitzero"`
+ RuleCriteria *RuleCriteriaOptions `json:"rule_criteria,omitzero"`
+ TriggerConditions *TriggerConditions `json:"trigger_conditions,omitzero"`
+ EntityIDs []string `json:"entity_ids,omitzero"`
+ Description *string `json:"description,omitzero"`
+ Scope AlertDefinitionScope `json:"scope,omitzero"`
+ Regions []string `json:"regions,omitzero"`
+ GroupBy []string `json:"group_by,omitzero"`
}
// UnmarshalJSON implements the json.Unmarshaler interface
@@ -234,7 +246,7 @@ func (c *Client) GetMonitorAlertDefinition(
ctx context.Context,
serviceType string,
alertID int,
-) (*MonitorAlertDefinition, error) {
+) (*AlertDefinition, error) {
e := formatAPIPath("monitor/services/%s/alert-definitions/%d", serviceType, alertID)
return doGETRequest[AlertDefinition](ctx, c, e)
}
@@ -244,7 +256,7 @@ func (c *Client) CreateMonitorAlertDefinition(
ctx context.Context,
serviceType string,
opts AlertDefinitionCreateOptions,
-) (*MonitorAlertDefinition, error) {
+) (*AlertDefinition, error) {
e := formatAPIPath("monitor/services/%s/alert-definitions", serviceType)
return doPOSTRequest[AlertDefinition](ctx, c, e, opts)
}
@@ -256,30 +268,33 @@ func (c *Client) CreateMonitorAlertDefinitionWithIdempotency(
serviceType string,
opts AlertDefinitionCreateOptions,
idempotencyKey string,
-) (*MonitorAlertDefinition, error) {
+) (*AlertDefinition, error) {
e := formatAPIPath("monitor/services/%s/alert-definitions", serviceType)
var result AlertDefinition
- req := c.R(ctx).SetResult(&result)
-
- if idempotencyKey != "" {
- req.SetHeader("Idempotency-Key", idempotencyKey)
- }
-
body, err := json.Marshal(opts)
if err != nil {
return nil, err
}
- req.SetBody(string(body))
+ params := requestParams{
+ Response: &result,
+ Body: bytes.NewReader(body),
+ }
+
+ if idempotencyKey != "" {
+ params.Headers = http.Header{
+ "Idempotency-Key": {idempotencyKey},
+ }
+ }
- r, err := coupleAPIErrors(req.Post(e))
+ err = c.doRequest(ctx, http.MethodPost, e, params, nil)
if err != nil {
return nil, err
}
- return r.Result().(*AlertDefinition), nil
+ return &result, nil
}
// UpdateMonitorAlertDefinition updates an ACLP Monitor Alert Definition.
@@ -309,3 +324,14 @@ func (c *Client) ListMonitorAlertDefinitionEntities(
e := formatAPIPath("monitor/services/%s/alert-definitions/%d/entities", serviceType, alertID)
return getPaginatedResults[AlertDefinitionEntity](ctx, c, e, opts)
}
+
+// CloneMonitorAlertDefinition clones an ACLP Monitor Alert Definition.
+func (c *Client) CloneMonitorAlertDefinition(
+ ctx context.Context,
+ serviceType string,
+ alertID int,
+ opts AlertDefinitionCloneOptions,
+) (*AlertDefinition, error) {
+ e := formatAPIPath("monitor/services/%s/alert-definitions/%d/clone", serviceType, alertID)
+ return doPOSTRequest[AlertDefinition](ctx, c, e, opts)
+}
diff --git a/monitor_api_services.go b/monitor_api_services.go
index 9d379353e..d847a7e3f 100644
--- a/monitor_api_services.go
+++ b/monitor_api_services.go
@@ -4,8 +4,10 @@
package linodego
import (
+ "bytes"
"context"
"encoding/json"
+ "net/http"
"time"
)
@@ -59,11 +61,11 @@ type EntityMetricsFetchOptions struct {
// EntityIDs are expected to be type "any" as different service_types have different variable type for their entity_ids. For example, Linode has "int" entity_ids whereas object storage has "string" as entity_ids.
EntityIDs []any `json:"entity_ids"`
- Filters []MetricFilter `json:"filters,omitempty"`
+ Filters []MetricFilter `json:"filters,omitzero"`
Metrics []EntityMetric `json:"metrics"`
- TimeGranularity []MetricTimeGranularity `json:"time_granularity,omitempty"`
- RelativeTimeDuration *MetricRelativeTimeDuration `json:"relative_time_duration,omitempty"`
- AbsoluteTimeDuration *MetricAbsoluteTimeDuration `json:"absolute_time_duration,omitempty"`
+ TimeGranularity []MetricTimeGranularity `json:"time_granularity,omitzero"`
+ RelativeTimeDuration *MetricRelativeTimeDuration `json:"relative_time_duration,omitzero"`
+ AbsoluteTimeDuration *MetricAbsoluteTimeDuration `json:"absolute_time_duration,omitzero"`
}
// MetricFilter describes individual objects that define dimension filters for the query.
@@ -101,7 +103,11 @@ type MetricAbsoluteTimeDuration struct {
func (mc *MonitorClient) FetchEntityMetrics(ctx context.Context, serviceType string, opts *EntityMetricsFetchOptions) (*EntityMetrics, error) {
endpoint := formatAPIPath("monitor/services/%s/metrics", serviceType)
- req := mc.R(ctx).SetResult(&EntityMetrics{})
+ var result EntityMetrics
+
+ params := requestParams{
+ Response: &result,
+ }
if opts != nil {
body, err := json.Marshal(opts)
@@ -109,13 +115,13 @@ func (mc *MonitorClient) FetchEntityMetrics(ctx context.Context, serviceType str
return nil, err
}
- req.SetBody(string(body))
+ params.Body = bytes.NewReader(body)
}
- r, err := coupleAPIErrors(req.Post(endpoint))
+ err := mc.doRequest(ctx, http.MethodPost, endpoint, params)
if err != nil {
return nil, err
}
- return r.Result().(*EntityMetrics), nil
+ return &result, nil
}
diff --git a/monitor_dashboards.go b/monitor_dashboards.go
index 0599ae359..a7c50d06d 100644
--- a/monitor_dashboards.go
+++ b/monitor_dashboards.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// MonitorDashboard represents an ACLP Dashboard object
@@ -14,6 +14,7 @@ type MonitorDashboard struct {
Type DashboardType `json:"type"`
ServiceType ServiceType `json:"service_type"`
Label string `json:"label"`
+ GroupBy []string `json:"group_by"`
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
Widgets []DashboardWidget `json:"widgets"`
diff --git a/monitor_log_destinations.go b/monitor_log_destinations.go
new file mode 100644
index 000000000..2b22b8bd3
--- /dev/null
+++ b/monitor_log_destinations.go
@@ -0,0 +1,208 @@
+package linodego
+
+import (
+ "context"
+ "encoding/json"
+ "time"
+
+ "github.com/linode/linodego/v2/internal/parseabletime"
+)
+
+// LogsDestinationType represents the type of a logs destination.
+type LogsDestinationType string
+
+const (
+ LogsDestinationTypeAkamaiObjectStorage LogsDestinationType = "akamai_object_storage"
+ LogsDestinationTypeCustomHTTPS LogsDestinationType = "custom_https"
+)
+
+// LogsDestinationStatus represents the status of a logs destination.
+type LogsDestinationStatus string
+
+const (
+ LogsDestinationStatusActive LogsDestinationStatus = "active"
+ LogsDestinationStatusInactive LogsDestinationStatus = "inactive"
+)
+
+// LogsDestinationDetails represents the details block returned in a LogsDestination response.
+// Fields are populated based on the destination type.
+type LogsDestinationDetails struct {
+ // akamai_object_storage fields
+ AccessKeyID string `json:"access_key_id,omitzero"`
+ BucketName string `json:"bucket_name,omitzero"`
+ Host string `json:"host,omitzero"`
+ Path string `json:"path,omitzero"`
+
+ // custom_https fields
+ EndpointURL string `json:"endpoint_url,omitzero"`
+ Authentication *LogsDestinationCustomHTTPSAuthDetails `json:"authentication,omitzero"`
+ ClientCertificateDetails *LogsDestinationClientCertificateDetails `json:"client_certificate_details,omitzero"`
+ ContentType string `json:"content_type,omitzero"`
+ CustomHeaders []LogsDestinationCustomHTTPSHeader `json:"custom_headers,omitzero"`
+ DataCompression string `json:"data_compression,omitzero"`
+}
+
+// LogsDestinationDetailsCreateOptions represents the details block used when creating
+// an akamai_object_storage LogsDestination.
+type LogsDestinationDetailsCreateOptions struct {
+ AccessKeyID string `json:"access_key_id"`
+ AccessKeySecret string `json:"access_key_secret"`
+ BucketName string `json:"bucket_name"`
+ Host string `json:"host"`
+ Path *string `json:"path,omitzero"`
+}
+
+// LogsDestinationCustomHTTPSAuthType represents the authentication type for a custom_https destination.
+type LogsDestinationCustomHTTPSAuthType string
+
+const (
+ LogsDestinationCustomHTTPSAuthTypeBasic LogsDestinationCustomHTTPSAuthType = "basic"
+ LogsDestinationCustomHTTPSAuthTypeNone LogsDestinationCustomHTTPSAuthType = "none"
+)
+
+// LogsDestinationCustomHTTPSBasicAuthDetails holds credentials for basic authentication.
+// Both fields are required when authentication type is "basic".
+type LogsDestinationCustomHTTPSBasicAuthDetails struct {
+ Username string `json:"basic_authentication_user"`
+ Password string `json:"basic_authentication_password"`
+}
+
+// LogsDestinationCustomHTTPSAuthDetails holds authentication configuration for a custom_https destination.
+type LogsDestinationCustomHTTPSAuthDetails struct {
+ Type LogsDestinationCustomHTTPSAuthType `json:"type"`
+ Details *LogsDestinationCustomHTTPSBasicAuthDetails `json:"details,omitzero"`
+}
+
+// LogsDestinationCustomHTTPSHeader represents a single custom HTTP header.
+type LogsDestinationCustomHTTPSHeader struct {
+ Name string `json:"name"`
+ Value string `json:"value"`
+}
+
+// LogsDestinationClientCertificateDetails contains TLS client certificate information
+type LogsDestinationClientCertificateDetails struct {
+ ClientCACertificate string `json:"client_ca_certificate"`
+ ClientCertificate string `json:"client_certificate"`
+ ClientPrivateKey string `json:"client_private_key"`
+ TLSHostname string `json:"tls_hostname"`
+}
+
+// LogsDestinationCustomHTTPSDetailsCreateOptions represents the details block used when
+// creating a custom_https LogsDestination.
+type LogsDestinationCustomHTTPSDetailsCreateOptions struct {
+ EndpointURL string `json:"endpoint_url"`
+ Authentication *LogsDestinationCustomHTTPSAuthDetails `json:"authentication"`
+ ClientCertificateDetails *LogsDestinationClientCertificateDetails `json:"client_certificate_details,omitzero"`
+ ContentType string `json:"content_type,omitzero"`
+ CustomHeaders []LogsDestinationCustomHTTPSHeader `json:"custom_headers,omitzero"`
+ DataCompression string `json:"data_compression,omitzero"`
+}
+
+// LogsDestination represents a logs destination object.
+type LogsDestination struct {
+ Created *time.Time `json:"-"`
+ CreatedBy string `json:"created_by"`
+ Details LogsDestinationDetails `json:"details"`
+ ID int `json:"id"`
+ Label string `json:"label"`
+ Status LogsDestinationStatus `json:"status"`
+ Type LogsDestinationType `json:"type"`
+ Updated *time.Time `json:"-"`
+ UpdatedBy string `json:"updated_by"`
+ Version int `json:"version"`
+}
+
+// UnmarshalJSON implements the json.Unmarshaler interface for LogsDestination.
+func (i *LogsDestination) UnmarshalJSON(b []byte) error {
+ type Mask LogsDestination
+
+ p := struct {
+ *Mask
+
+ Created *parseabletime.ParseableTime `json:"created"`
+ Updated *parseabletime.ParseableTime `json:"updated"`
+ }{
+ Mask: (*Mask)(i),
+ }
+
+ if err := json.Unmarshal(b, &p); err != nil {
+ return err
+ }
+
+ i.Created = (*time.Time)(p.Created)
+ i.Updated = (*time.Time)(p.Updated)
+
+ return nil
+}
+
+const logsDestinationBaseEndpoint = "monitor/streams/destinations"
+
+// LogsDestinationCreateOptions are the options used to create a new logs destination.
+type LogsDestinationCreateOptions struct {
+ Label string `json:"label"`
+ Type LogsDestinationType `json:"type"`
+ Details any `json:"details"`
+}
+
+// LogsDestinationDetailsUpdateOptions represents the details block used when updating
+// an akamai_object_storage LogsDestination.
+type LogsDestinationDetailsUpdateOptions struct {
+ AccessKeyID string `json:"access_key_id,omitzero"`
+ AccessKeySecret string `json:"access_key_secret,omitzero"`
+ BucketName string `json:"bucket_name,omitzero"`
+ Host string `json:"host,omitzero"`
+ Path *string `json:"path,omitzero"`
+}
+
+// LogsDestinationCustomHTTPSDetailsUpdateOptions represents the details block used when
+// updating a custom_https LogsDestination.
+type LogsDestinationCustomHTTPSDetailsUpdateOptions struct {
+ EndpointURL string `json:"endpoint_url,omitzero"`
+ Authentication *LogsDestinationCustomHTTPSAuthDetails `json:"authentication,omitzero"`
+ ClientCertificateDetails *LogsDestinationClientCertificateDetails `json:"client_certificate_details,omitzero"`
+ ContentType string `json:"content_type,omitzero"`
+ CustomHeaders []LogsDestinationCustomHTTPSHeader `json:"custom_headers,omitzero"`
+ DataCompression string `json:"data_compression,omitzero"`
+}
+
+// LogsDestinationUpdateOptions are the options used to update a LogsDestination.
+// Set Details to *LogsDestinationDetailsUpdateOptions for akamai_object_storage,
+// or *LogsDestinationCustomHTTPSDetailsUpdateOptions for custom_https.
+type LogsDestinationUpdateOptions struct {
+ Label string `json:"label,omitzero"`
+ Details any `json:"details,omitzero"`
+}
+
+// ListLogsDestinations returns a paginated list of logs destinations.
+func (c *Client) ListLogsDestinations(ctx context.Context, opts *ListOptions) ([]LogsDestination, error) {
+ return getPaginatedResults[LogsDestination](ctx, c, logsDestinationBaseEndpoint, opts)
+}
+
+// GetLogsDestination gets a single logs destination by ID.
+func (c *Client) GetLogsDestination(ctx context.Context, destinationID int) (*LogsDestination, error) {
+ e := formatAPIPath(logsDestinationBaseEndpoint+"/%d", destinationID)
+ return doGETRequest[LogsDestination](ctx, c, e)
+}
+
+// CreateLogsDestination creates a new logs destination.
+func (c *Client) CreateLogsDestination(ctx context.Context, opts LogsDestinationCreateOptions) (*LogsDestination, error) {
+ return doPOSTRequest[LogsDestination](ctx, c, logsDestinationBaseEndpoint, opts)
+}
+
+// UpdateLogsDestination updates a logs destination.
+func (c *Client) UpdateLogsDestination(ctx context.Context, destinationID int, opts LogsDestinationUpdateOptions) (*LogsDestination, error) {
+ e := formatAPIPath(logsDestinationBaseEndpoint+"/%d", destinationID)
+ return doPUTRequest[LogsDestination](ctx, c, e, opts)
+}
+
+// DeleteLogsDestination deletes a logs destination.
+func (c *Client) DeleteLogsDestination(ctx context.Context, destinationID int) error {
+ e := formatAPIPath(logsDestinationBaseEndpoint+"/%d", destinationID)
+ return doDELETERequest(ctx, c, e)
+}
+
+// ListLogsDestinationHistory returns the version history for a logs destination.
+func (c *Client) ListLogsDestinationHistory(ctx context.Context, destinationID int, opts *ListOptions) ([]LogsDestination, error) {
+ e := formatAPIPath(logsDestinationBaseEndpoint+"/%d/history", destinationID)
+ return getPaginatedResults[LogsDestination](ctx, c, e, opts)
+}
diff --git a/monitor_log_streams.go b/monitor_log_streams.go
new file mode 100644
index 000000000..deb793589
--- /dev/null
+++ b/monitor_log_streams.go
@@ -0,0 +1,148 @@
+package linodego
+
+import (
+ "context"
+ "encoding/json"
+ "time"
+
+ "github.com/linode/linodego/v2/internal/parseabletime"
+)
+
+// StreamType represents the type of ACLP logs stream.
+type StreamType string
+
+const (
+ // StreamTypeAuditLogs configures a stream for ACLP audit logs.
+ StreamTypeAuditLogs StreamType = "audit_logs"
+ // StreamTypeLKEAuditLogs configures a stream for LKE enterprise cluster audit logs.
+ StreamTypeLKEAuditLogs StreamType = "lke_audit_logs"
+)
+
+// StreamStatus represents the availability state of an ACLP logs stream.
+type StreamStatus string
+
+const (
+ // StreamStatusActive means the stream is actively delivering logs.
+ StreamStatusActive StreamStatus = "active"
+ // StreamStatusInactive means the stream is paused.
+ StreamStatusInactive StreamStatus = "inactive"
+ // StreamStatusProvisioning means the stream is being set up.
+ StreamStatusProvisioning StreamStatus = "provisioning"
+ // StreamStatusDeactivating means the stream is being deactivated.
+ StreamStatusDeactivating StreamStatus = "deactivating"
+)
+
+// StreamDestinationType represents the destination type for ACLP logs streams.
+type StreamDestinationType string
+
+const (
+ // StreamDestinationTypeAkamaiObjectStorage sends logs to Akamai Object Storage.
+ StreamDestinationTypeAkamaiObjectStorage StreamDestinationType = "akamai_object_storage"
+ // StreamDestinationTypeCustomHTTPS sends logs to a custom HTTPS endpoint.
+ StreamDestinationTypeCustomHTTPS StreamDestinationType = "custom_https"
+)
+
+// StreamDetails contains additional details for a logs stream.
+// This only applies to streams with a Type of StreamTypeLKEAuditLogs.
+type StreamDetails struct {
+ ClusterIDs []int `json:"cluster_ids,omitzero"`
+ IsAutoAddAllClustersEnabled bool `json:"is_auto_add_all_clusters_enabled"`
+}
+
+// StreamDestination is a destination configured on an ACLP logs stream.
+type StreamDestination struct {
+ ID int `json:"id"`
+ Label string `json:"label"`
+ Type StreamDestinationType `json:"type"`
+ Details LogsDestinationDetails `json:"details"`
+}
+
+// Stream represents an ACLP logs stream.
+type Stream struct {
+ ID int `json:"id"`
+ Label string `json:"label"`
+ Type StreamType `json:"type"`
+ Status StreamStatus `json:"status"`
+ Version int `json:"version"`
+ Destinations []StreamDestination `json:"destinations"`
+ Details *StreamDetails `json:"details,omitzero"`
+ Created *time.Time `json:"-"`
+ Updated *time.Time `json:"-"`
+ CreatedBy string `json:"created_by"`
+ UpdatedBy string `json:"updated_by"`
+}
+
+// StreamCreateOptions are the fields used to create an ACLP logs stream.
+type StreamCreateOptions struct {
+ Destinations []int `json:"destinations"`
+ Label string `json:"label"`
+ Type StreamType `json:"type"`
+ Status *StreamStatus `json:"status,omitzero"`
+ Details *StreamDetails `json:"details,omitzero"`
+}
+
+// StreamUpdateOptions are the fields used to update an ACLP logs stream.
+type StreamUpdateOptions struct {
+ Destinations []int `json:"destinations,omitzero"`
+ Label *string `json:"label,omitzero"`
+ Status *StreamStatus `json:"status,omitzero"`
+ Details *StreamDetails `json:"details,omitzero"`
+}
+
+// UnmarshalJSON implements the json.Unmarshaler interface.
+func (s *Stream) UnmarshalJSON(b []byte) error {
+ type mask Stream
+
+ p := struct {
+ *mask
+
+ Created *parseabletime.ParseableTime `json:"created"`
+ Updated *parseabletime.ParseableTime `json:"updated"`
+ }{
+ mask: (*mask)(s),
+ }
+
+ if err := json.Unmarshal(b, &p); err != nil {
+ return err
+ }
+
+ s.Created = (*time.Time)(p.Created)
+ s.Updated = (*time.Time)(p.Updated)
+
+ return nil
+}
+
+// ListLogStreams returns all ACLP logs streams under the account.
+func (c *Client) ListLogStreams(ctx context.Context, opts *ListOptions) ([]Stream, error) {
+ return getPaginatedResults[Stream](ctx, c, "monitor/streams", opts)
+}
+
+// GetLogStream returns a single ACLP logs stream by ID.
+func (c *Client) GetLogStream(ctx context.Context, streamID int) (*Stream, error) {
+ e := formatAPIPath("monitor/streams/%d", streamID)
+ return doGETRequest[Stream](ctx, c, e)
+}
+
+// CreateLogStream creates a new ACLP logs stream.
+func (c *Client) CreateLogStream(ctx context.Context, opts StreamCreateOptions) (*Stream, error) {
+ e := formatAPIPath("monitor/streams")
+ return doPOSTRequest[Stream](ctx, c, e, opts)
+}
+
+// UpdateLogStream updates an ACLP logs stream by ID.
+func (c *Client) UpdateLogStream(ctx context.Context, streamID int, opts StreamUpdateOptions) (*Stream, error) {
+ e := formatAPIPath("monitor/streams/%d", streamID)
+ return doPUTRequest[Stream](ctx, c, e, opts)
+}
+
+// ListLogStreamHistory returns all versions of an ACLP logs stream.
+func (c *Client) ListLogStreamHistory(ctx context.Context, streamID int, opts *ListOptions) ([]Stream, error) {
+ e := formatAPIPath("monitor/streams/%d/history", streamID)
+ return getPaginatedResults[Stream](ctx, c, e, opts)
+}
+
+// DeleteLogStream deletes an ACLP logs stream by ID.
+func (c *Client) DeleteLogStream(ctx context.Context, streamID int) error {
+ e := formatAPIPath("monitor/streams/%d", streamID)
+ return doDELETERequest(ctx, c, e)
+}
diff --git a/mysql.go b/mysql.go
index 7b334f55e..27fea0766 100644
--- a/mysql.go
+++ b/mysql.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
type MySQLDatabaseTarget string
@@ -46,42 +46,42 @@ type MySQLDatabase struct {
Port int `json:"port"`
EngineConfig MySQLDatabaseEngineConfig `json:"engine_config"`
- PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitempty"`
+ PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitzero"`
}
type MySQLDatabaseEngineConfig struct {
- MySQL *MySQLDatabaseEngineConfigMySQL `json:"mysql,omitempty"`
- BinlogRetentionPeriod *int `json:"binlog_retention_period,omitempty"`
+ MySQL *MySQLDatabaseEngineConfigMySQL `json:"mysql,omitzero"`
+ BinlogRetentionPeriod *int `json:"binlog_retention_period,omitzero"`
}
type MySQLDatabaseEngineConfigMySQL struct {
- ConnectTimeout *int `json:"connect_timeout,omitempty"`
- DefaultTimeZone *string `json:"default_time_zone,omitempty"`
- GroupConcatMaxLen *float64 `json:"group_concat_max_len,omitempty"`
- InformationSchemaStatsExpiry *int `json:"information_schema_stats_expiry,omitempty"`
- InnoDBChangeBufferMaxSize *int `json:"innodb_change_buffer_max_size,omitempty"`
- InnoDBFlushNeighbors *int `json:"innodb_flush_neighbors,omitempty"`
- InnoDBFTMinTokenSize *int `json:"innodb_ft_min_token_size,omitempty"`
- InnoDBFTServerStopwordTable **string `json:"innodb_ft_server_stopword_table,omitempty"`
- InnoDBLockWaitTimeout *int `json:"innodb_lock_wait_timeout,omitempty"`
- InnoDBLogBufferSize *int `json:"innodb_log_buffer_size,omitempty"`
- InnoDBOnlineAlterLogMaxSize *int `json:"innodb_online_alter_log_max_size,omitempty"`
- InnoDBReadIOThreads *int `json:"innodb_read_io_threads,omitempty"`
- InnoDBRollbackOnTimeout *bool `json:"innodb_rollback_on_timeout,omitempty"`
- InnoDBThreadConcurrency *int `json:"innodb_thread_concurrency,omitempty"`
- InnoDBWriteIOThreads *int `json:"innodb_write_io_threads,omitempty"`
- InteractiveTimeout *int `json:"interactive_timeout,omitempty"`
- InternalTmpMemStorageEngine *string `json:"internal_tmp_mem_storage_engine,omitempty"`
- MaxAllowedPacket *int `json:"max_allowed_packet,omitempty"`
- MaxHeapTableSize *int `json:"max_heap_table_size,omitempty"`
- NetBufferLength *int `json:"net_buffer_length,omitempty"`
- NetReadTimeout *int `json:"net_read_timeout,omitempty"`
- NetWriteTimeout *int `json:"net_write_timeout,omitempty"`
- SortBufferSize *int `json:"sort_buffer_size,omitempty"`
- SQLMode *string `json:"sql_mode,omitempty"`
- SQLRequirePrimaryKey *bool `json:"sql_require_primary_key,omitempty"`
- TmpTableSize *int `json:"tmp_table_size,omitempty"`
- WaitTimeout *int `json:"wait_timeout,omitempty"`
+ ConnectTimeout *int `json:"connect_timeout,omitzero"`
+ DefaultTimeZone *string `json:"default_time_zone,omitzero"`
+ GroupConcatMaxLen *float64 `json:"group_concat_max_len,omitzero"`
+ InformationSchemaStatsExpiry *int `json:"information_schema_stats_expiry,omitzero"`
+ InnoDBChangeBufferMaxSize *int `json:"innodb_change_buffer_max_size,omitzero"`
+ InnoDBFlushNeighbors *int `json:"innodb_flush_neighbors,omitzero"`
+ InnoDBFTMinTokenSize *int `json:"innodb_ft_min_token_size,omitzero"`
+ InnoDBFTServerStopwordTable **string `json:"innodb_ft_server_stopword_table,omitzero"`
+ InnoDBLockWaitTimeout *int `json:"innodb_lock_wait_timeout,omitzero"`
+ InnoDBLogBufferSize *int `json:"innodb_log_buffer_size,omitzero"`
+ InnoDBOnlineAlterLogMaxSize *int `json:"innodb_online_alter_log_max_size,omitzero"`
+ InnoDBReadIOThreads *int `json:"innodb_read_io_threads,omitzero"`
+ InnoDBRollbackOnTimeout *bool `json:"innodb_rollback_on_timeout,omitzero"`
+ InnoDBThreadConcurrency *int `json:"innodb_thread_concurrency,omitzero"`
+ InnoDBWriteIOThreads *int `json:"innodb_write_io_threads,omitzero"`
+ InteractiveTimeout *int `json:"interactive_timeout,omitzero"`
+ InternalTmpMemStorageEngine *string `json:"internal_tmp_mem_storage_engine,omitzero"`
+ MaxAllowedPacket *int `json:"max_allowed_packet,omitzero"`
+ MaxHeapTableSize *int `json:"max_heap_table_size,omitzero"`
+ NetBufferLength *int `json:"net_buffer_length,omitzero"`
+ NetReadTimeout *int `json:"net_read_timeout,omitzero"`
+ NetWriteTimeout *int `json:"net_write_timeout,omitzero"`
+ SortBufferSize *int `json:"sort_buffer_size,omitzero"`
+ SQLMode *string `json:"sql_mode,omitzero"`
+ SQLRequirePrimaryKey *bool `json:"sql_require_primary_key,omitzero"`
+ TmpTableSize *int `json:"tmp_table_size,omitzero"`
+ WaitTimeout *int `json:"wait_timeout,omitzero"`
}
type MySQLDatabaseConfigInfo struct {
@@ -397,24 +397,24 @@ type MySQLCreateOptions struct {
Region string `json:"region"`
Type string `json:"type"`
Engine string `json:"engine"`
- AllowList []string `json:"allow_list,omitempty"`
- ClusterSize int `json:"cluster_size,omitempty"`
+ AllowList []string `json:"allow_list,omitzero"`
+ ClusterSize int `json:"cluster_size,omitzero"`
- Fork *DatabaseFork `json:"fork,omitempty"`
- EngineConfig *MySQLDatabaseEngineConfig `json:"engine_config,omitempty"`
- PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitempty"`
+ Fork *DatabaseFork `json:"fork,omitzero"`
+ EngineConfig *MySQLDatabaseEngineConfig `json:"engine_config,omitzero"`
+ PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitzero"`
}
// MySQLUpdateOptions fields are used when altering the existing MySQL Database
type MySQLUpdateOptions struct {
- Label string `json:"label,omitempty"`
- AllowList *[]string `json:"allow_list,omitempty"`
- Updates *DatabaseMaintenanceWindow `json:"updates,omitempty"`
- Type string `json:"type,omitempty"`
- ClusterSize int `json:"cluster_size,omitempty"`
- Version string `json:"version,omitempty"`
- EngineConfig *MySQLDatabaseEngineConfig `json:"engine_config,omitempty"`
- PrivateNetwork **DatabasePrivateNetwork `json:"private_network,omitempty"`
+ Label string `json:"label,omitzero"`
+ AllowList []string `json:"allow_list,omitzero"`
+ Updates *DatabaseMaintenanceWindow `json:"updates,omitzero"`
+ Type string `json:"type,omitzero"`
+ ClusterSize int `json:"cluster_size,omitzero"`
+ Version string `json:"version,omitzero"`
+ EngineConfig *MySQLDatabaseEngineConfig `json:"engine_config,omitzero"`
+ PrivateNetwork **DatabasePrivateNetwork `json:"private_network,omitzero"`
}
// MySQLDatabaseCredential is the Root Credentials to access the Linode Managed Database
diff --git a/network_ips.go b/network_ips.go
index d4500c4d6..d9c83ee58 100644
--- a/network_ips.go
+++ b/network_ips.go
@@ -4,23 +4,16 @@ import (
"context"
)
-// IPAddressUpdateOptionsV2 fields are those accepted by UpdateIPAddress.
+// IPAddressUpdateOptions fields are those accepted by UpdateIPAddress.
// NOTE: An IP's RDNS can be reset to default using the following pattern:
//
-// IPAddressUpdateOptionsV2{
+// IPAddressUpdateOptions{
// RDNS: linodego.Pointer[*string](nil),
// }
-type IPAddressUpdateOptionsV2 struct {
- // The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if set to nil.
- Reserved *bool `json:"reserved,omitempty"`
- RDNS **string `json:"rdns,omitempty"`
-}
-
-// IPAddressUpdateOptions fields are those accepted by UpdateIPAddress.
-//
-// Deprecated: Please use IPAddressUpdateOptionsV2 for all new implementations.
type IPAddressUpdateOptions struct {
- RDNS *string `json:"rdns"`
+ // The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if set to nil.
+ Reserved *bool `json:"reserved,omitzero"`
+ RDNS **string `json:"rdns,omitzero"`
}
// LinodeIPAssignment stores an assignment between an IP address and a Linode instance.
@@ -32,9 +25,9 @@ type LinodeIPAssignment struct {
type AllocateReserveIPOptions struct {
Type string `json:"type"`
Public bool `json:"public"`
- Reserved bool `json:"reserved,omitempty"`
- Region string `json:"region,omitempty"`
- LinodeID int `json:"linode_id,omitempty"`
+ Reserved bool `json:"reserved,omitzero"`
+ Region string `json:"region,omitzero"`
+ LinodeID int `json:"linode_id,omitzero"`
}
// LinodesAssignIPsOptions fields are those accepted by InstancesAssignIPs.
@@ -56,24 +49,16 @@ type ListIPAddressesQuery struct {
SkipIPv6RDNS bool `query:"skip_ipv6_rdns"`
}
-// GetUpdateOptionsV2 converts a IPAddress to IPAddressUpdateOptionsV2 for use in UpdateIPAddressV2.
-func (i InstanceIP) GetUpdateOptionsV2() IPAddressUpdateOptionsV2 {
+// GetUpdateOptions converts a IPAddress to IPAddressUpdateOptions for use in UpdateIPAddress.
+func (i InstanceIP) GetUpdateOptions() IPAddressUpdateOptions {
rdns := copyString(&i.RDNS)
- return IPAddressUpdateOptionsV2{
+ return IPAddressUpdateOptions{
RDNS: &rdns,
Reserved: copyBool(&i.Reserved),
}
}
-// GetUpdateOptions converts a IPAddress to IPAddressUpdateOptions for use in UpdateIPAddress.
-//
-// Deprecated: Please use GetUpdateOptionsV2 for all new implementations.
-func (i InstanceIP) GetUpdateOptions() (o IPAddressUpdateOptions) {
- o.RDNS = copyString(&i.RDNS)
- return o
-}
-
// ListIPAddresses lists IPAddresses.
func (c *Client) ListIPAddresses(ctx context.Context, opts *ListOptions) ([]InstanceIP, error) {
return getPaginatedResults[InstanceIP](ctx, c, "networking/ips", opts)
@@ -85,20 +70,12 @@ func (c *Client) GetIPAddress(ctx context.Context, id string) (*InstanceIP, erro
return doGETRequest[InstanceIP](ctx, c, e)
}
-// UpdateIPAddressV2 updates the IP address with the specified address.
-func (c *Client) UpdateIPAddressV2(ctx context.Context, address string, opts IPAddressUpdateOptionsV2) (*InstanceIP, error) {
+// UpdateIPAddress updates the IP address with the specified address.
+func (c *Client) UpdateIPAddress(ctx context.Context, address string, opts IPAddressUpdateOptions) (*InstanceIP, error) {
e := formatAPIPath("networking/ips/%s", address)
return doPUTRequest[InstanceIP](ctx, c, e, opts)
}
-// UpdateIPAddress updates the IP address with the specified id.
-//
-// Deprecated: Please use UpdateIPAddressV2 for all new implementation.
-func (c *Client) UpdateIPAddress(ctx context.Context, id string, opts IPAddressUpdateOptions) (*InstanceIP, error) {
- e := formatAPIPath("networking/ips/%s", id)
- return doPUTRequest[InstanceIP](ctx, c, e, opts)
-}
-
// InstancesAssignIPs assigns multiple IPv4 addresses and/or IPv6 ranges to multiple Linodes in one Region.
// This allows swapping, shuffling, or otherwise reorganizing IPs to your Linodes.
func (c *Client) InstancesAssignIPs(ctx context.Context, opts LinodesAssignIPsOptions) error {
diff --git a/network_ranges.go b/network_ranges.go
index 00350b604..b8b7f0e15 100644
--- a/network_ranges.go
+++ b/network_ranges.go
@@ -6,9 +6,9 @@ import (
// IPv6RangeCreateOptions fields are those accepted by CreateIPv6Range
type IPv6RangeCreateOptions struct {
- LinodeID int `json:"linode_id,omitempty"`
+ LinodeID int `json:"linode_id,omitzero"`
PrefixLength int `json:"prefix_length"`
- RouteTarget string `json:"route_target,omitempty"`
+ RouteTarget string `json:"route_target,omitzero"`
}
// ListIPv6Ranges lists IPv6Ranges
diff --git a/network_reserved_ips.go b/network_reserved_ips.go
index 777d3d16f..1ea3c40ab 100644
--- a/network_reserved_ips.go
+++ b/network_reserved_ips.go
@@ -4,12 +4,40 @@ import (
"context"
)
+// ReservedIPAssignedEntity represents the entity that a reserved IP is assigned to.
+// NOTE: Reserved IP feature may not currently be available to all users.
+type ReservedIPAssignedEntity struct {
+ ID int `json:"id"`
+ Label string `json:"label"`
+ Type string `json:"type"`
+ URL string `json:"url"`
+}
+
// ReserveIPOptions represents the options for reserving an IP address
// NOTE: Reserved IP feature may not currently be available to all users.
type ReserveIPOptions struct {
- Region string `json:"region"`
+ Region string `json:"region"`
+ Tags []string `json:"tags,omitzero"`
+}
+
+// UpdateReservedIPOptions represents the options for updating a reserved IP address
+// NOTE: Reserved IP feature may not currently be available to all users.
+type UpdateReservedIPOptions struct {
+ Tags []string `json:"tags,omitzero"`
}
+// ReservedIPPrice represents the pricing information for a reserved IP type.
+// It is an alias of the shared baseTypePrice to keep pricing consistent across resources.
+type ReservedIPPrice = baseTypePrice
+
+// ReservedIPRegionPrice represents region-specific pricing for a reserved IP type.
+// It is an alias of the shared baseTypeRegionPrice to keep region pricing consistent across resources.
+type ReservedIPRegionPrice = baseTypeRegionPrice
+
+// ReservedIPType represents a reserved IP type with pricing information.
+// It reuses the generic baseType to avoid duplicating type/pricing structures.
+type ReservedIPType = baseType[ReservedIPPrice, ReservedIPRegionPrice]
+
// ListReservedIPAddresses retrieves a list of reserved IP addresses
// NOTE: Reserved IP feature may not currently be available to all users.
func (c *Client) ListReservedIPAddresses(ctx context.Context, opts *ListOptions) ([]InstanceIP, error) {
@@ -30,9 +58,22 @@ func (c *Client) ReserveIPAddress(ctx context.Context, opts ReserveIPOptions) (*
return doPOSTRequest[InstanceIP](ctx, c, "networking/reserved/ips", opts)
}
+// UpdateReservedIPAddress updates the tags of a reserved IP address
+// NOTE: Reserved IP feature may not currently be available to all users.
+func (c *Client) UpdateReservedIPAddress(ctx context.Context, address string, opts UpdateReservedIPOptions) (*InstanceIP, error) {
+ e := formatAPIPath("networking/reserved/ips/%s", address)
+ return doPUTRequest[InstanceIP](ctx, c, e, opts)
+}
+
// DeleteReservedIPAddress deletes a reserved IP address
// NOTE: Reserved IP feature may not currently be available to all users.
func (c *Client) DeleteReservedIPAddress(ctx context.Context, ipAddress string) error {
e := formatAPIPath("networking/reserved/ips/%s", ipAddress)
return doDELETERequest(ctx, c, e)
}
+
+// ListReservedIPTypes retrieves a list of reserved IP types with pricing information
+// NOTE: Reserved IP feature may not currently be available to all users.
+func (c *Client) ListReservedIPTypes(ctx context.Context, opts *ListOptions) ([]ReservedIPType, error) {
+ return getPaginatedResults[ReservedIPType](ctx, c, "networking/reserved/ips/types", opts)
+}
diff --git a/nodebalancer.go b/nodebalancer.go
index 2a7238af9..c0b8c1b52 100644
--- a/nodebalancer.go
+++ b/nodebalancer.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// NodeBalancer represents a NodeBalancer object
@@ -60,38 +60,38 @@ type NodeBalancerTransfer struct {
}
type NodeBalancerVPCOptions struct {
- IPv4Range string `json:"ipv4_range,omitempty"`
- IPv6Range string `json:"ipv6_range,omitempty"`
+ IPv4Range string `json:"ipv4_range,omitzero"`
+ IPv6Range string `json:"ipv6_range,omitzero"`
SubnetID int `json:"subnet_id"`
- IPv4RangeAutoAssign bool `json:"ipv4_range_auto_assign,omitempty"`
+ IPv4RangeAutoAssign bool `json:"ipv4_range_auto_assign,omitzero"`
}
// NodeBalancerCreateOptions are the options permitted for CreateNodeBalancer
type NodeBalancerCreateOptions struct {
- Label *string `json:"label,omitempty"`
- Region string `json:"region,omitempty"`
- ClientConnThrottle *int `json:"client_conn_throttle,omitempty"`
+ Label *string `json:"label,omitzero"`
+ Region string `json:"region,omitzero"`
+ ClientConnThrottle *int `json:"client_conn_throttle,omitzero"`
// NOTE: ClientUDPSessThrottle may not currently be available to all users.
- ClientUDPSessThrottle *int `json:"client_udp_sess_throttle,omitempty"`
-
- Configs []*NodeBalancerConfigCreateOptions `json:"configs,omitempty"`
- Tags []string `json:"tags"`
- FirewallID int `json:"firewall_id,omitempty"`
- Type NodeBalancerPlanType `json:"type,omitempty"`
- VPCs []NodeBalancerVPCOptions `json:"vpcs,omitempty"`
- IPv4 *string `json:"ipv4,omitempty"`
+ ClientUDPSessThrottle *int `json:"client_udp_sess_throttle,omitzero"`
+
+ Configs []NodeBalancerConfigCreateOptions `json:"configs,omitzero"`
+ Tags []string `json:"tags"`
+ FirewallID int `json:"firewall_id,omitzero"`
+ Type NodeBalancerPlanType `json:"type,omitzero"`
+ VPCs []NodeBalancerVPCOptions `json:"vpcs,omitzero"`
+ IPv4 *string `json:"ipv4,omitzero"`
}
// NodeBalancerUpdateOptions are the options permitted for UpdateNodeBalancer
type NodeBalancerUpdateOptions struct {
- Label *string `json:"label,omitempty"`
- ClientConnThrottle *int `json:"client_conn_throttle,omitempty"`
+ Label *string `json:"label,omitzero"`
+ ClientConnThrottle *int `json:"client_conn_throttle,omitzero"`
// NOTE: ClientUDPSessThrottle may not currently be available to all users.
- ClientUDPSessThrottle *int `json:"client_udp_sess_throttle,omitempty"`
+ ClientUDPSessThrottle *int `json:"client_udp_sess_throttle,omitzero"`
- Tags *[]string `json:"tags,omitempty"`
+ Tags []string `json:"tags,omitzero"`
}
type NodeBalancerLKECluster struct {
@@ -156,7 +156,7 @@ func (i NodeBalancer) GetUpdateOptions() NodeBalancerUpdateOptions {
Label: i.Label,
ClientConnThrottle: &i.ClientConnThrottle,
ClientUDPSessThrottle: &i.ClientUDPSessThrottle,
- Tags: &i.Tags,
+ Tags: i.Tags,
}
}
diff --git a/nodebalancer_config_nodes.go b/nodebalancer_config_nodes.go
index 6516ba717..a98df52ea 100644
--- a/nodebalancer_config_nodes.go
+++ b/nodebalancer_config_nodes.go
@@ -38,18 +38,18 @@ var (
type NodeBalancerNodeCreateOptions struct {
Address string `json:"address"`
Label string `json:"label"`
- Weight int `json:"weight,omitempty"`
- Mode NodeMode `json:"mode,omitempty"`
- SubnetID int `json:"subnet_id,omitempty"`
+ Weight int `json:"weight,omitzero"`
+ Mode NodeMode `json:"mode,omitzero"`
+ SubnetID int `json:"subnet_id,omitzero"`
}
// NodeBalancerNodeUpdateOptions fields are those accepted by UpdateNodeBalancerNode
type NodeBalancerNodeUpdateOptions struct {
- Address string `json:"address,omitempty"`
- Label string `json:"label,omitempty"`
- Weight int `json:"weight,omitempty"`
- Mode NodeMode `json:"mode,omitempty"`
- SubnetID int `json:"subnet_id,omitempty"`
+ Address string `json:"address,omitzero"`
+ Label string `json:"label,omitzero"`
+ Weight int `json:"weight,omitzero"`
+ Mode NodeMode `json:"mode,omitzero"`
+ SubnetID int `json:"subnet_id,omitzero"`
}
// GetCreateOptions converts a NodeBalancerNode to NodeBalancerNodeCreateOptions for use in CreateNodeBalancerNode
diff --git a/nodebalancer_config_vpc.go b/nodebalancer_config_vpc.go
index 122d4c9b8..3e3d8987c 100644
--- a/nodebalancer_config_vpc.go
+++ b/nodebalancer_config_vpc.go
@@ -10,7 +10,7 @@ import (
type NodeBalancerVPCConfig struct {
ID int `json:"id"`
IPv4Range string `json:"ipv4_range"`
- IPv6Range string `json:"ipv6_range,omitempty"`
+ IPv6Range string `json:"ipv6_range,omitzero"`
NodeBalancerID int `json:"nodebalancer_id"`
SubnetID int `json:"subnet_id"`
VPCID int `json:"vpc_id"`
diff --git a/nodebalancer_configs.go b/nodebalancer_configs.go
index 2c532837b..fee304fde 100644
--- a/nodebalancer_configs.go
+++ b/nodebalancer_configs.go
@@ -108,48 +108,48 @@ type NodeBalancerNodeStatus struct {
// NodeBalancerConfigCreateOptions are permitted by CreateNodeBalancerConfig
type NodeBalancerConfigCreateOptions struct {
Port int `json:"port"`
- Protocol ConfigProtocol `json:"protocol,omitempty"`
- ProxyProtocol ConfigProxyProtocol `json:"proxy_protocol,omitempty"`
- Algorithm ConfigAlgorithm `json:"algorithm,omitempty"`
- Stickiness ConfigStickiness `json:"stickiness,omitempty"`
- Check ConfigCheck `json:"check,omitempty"`
- CheckInterval int `json:"check_interval,omitempty"`
- CheckAttempts int `json:"check_attempts,omitempty"`
- CheckPath string `json:"check_path,omitempty"`
- CheckBody string `json:"check_body,omitempty"`
- CheckPassive *bool `json:"check_passive,omitempty"`
- CheckTimeout int `json:"check_timeout,omitempty"`
+ Protocol ConfigProtocol `json:"protocol,omitzero"`
+ ProxyProtocol ConfigProxyProtocol `json:"proxy_protocol,omitzero"`
+ Algorithm ConfigAlgorithm `json:"algorithm,omitzero"`
+ Stickiness ConfigStickiness `json:"stickiness,omitzero"`
+ Check ConfigCheck `json:"check,omitzero"`
+ CheckInterval int `json:"check_interval,omitzero"`
+ CheckAttempts int `json:"check_attempts,omitzero"`
+ CheckPath string `json:"check_path,omitzero"`
+ CheckBody string `json:"check_body,omitzero"`
+ CheckPassive *bool `json:"check_passive,omitzero"`
+ CheckTimeout int `json:"check_timeout,omitzero"`
// NOTE: UDPCheckPort may not currently be available to all users.
- UDPCheckPort *int `json:"udp_check_port,omitempty"`
+ UDPCheckPort *int `json:"udp_check_port,omitzero"`
- CipherSuite ConfigCipher `json:"cipher_suite,omitempty"`
- SSLCert string `json:"ssl_cert,omitempty"`
- SSLKey string `json:"ssl_key,omitempty"`
- Nodes []NodeBalancerNodeCreateOptions `json:"nodes,omitempty"`
+ CipherSuite ConfigCipher `json:"cipher_suite,omitzero"`
+ SSLCert string `json:"ssl_cert,omitzero"`
+ SSLKey string `json:"ssl_key,omitzero"`
+ Nodes []NodeBalancerNodeCreateOptions `json:"nodes,omitzero"`
}
// NodeBalancerConfigRebuildOptions used by RebuildNodeBalancerConfig
type NodeBalancerConfigRebuildOptions struct {
Port int `json:"port"`
- Protocol ConfigProtocol `json:"protocol,omitempty"`
- ProxyProtocol ConfigProxyProtocol `json:"proxy_protocol,omitempty"`
- Algorithm ConfigAlgorithm `json:"algorithm,omitempty"`
- Stickiness ConfigStickiness `json:"stickiness,omitempty"`
- Check ConfigCheck `json:"check,omitempty"`
- CheckInterval int `json:"check_interval,omitempty"`
- CheckAttempts int `json:"check_attempts,omitempty"`
- CheckPath string `json:"check_path,omitempty"`
- CheckBody string `json:"check_body,omitempty"`
- CheckPassive *bool `json:"check_passive,omitempty"`
- CheckTimeout int `json:"check_timeout,omitempty"`
+ Protocol ConfigProtocol `json:"protocol,omitzero"`
+ ProxyProtocol ConfigProxyProtocol `json:"proxy_protocol,omitzero"`
+ Algorithm ConfigAlgorithm `json:"algorithm,omitzero"`
+ Stickiness ConfigStickiness `json:"stickiness,omitzero"`
+ Check ConfigCheck `json:"check,omitzero"`
+ CheckInterval int `json:"check_interval,omitzero"`
+ CheckAttempts int `json:"check_attempts,omitzero"`
+ CheckPath string `json:"check_path,omitzero"`
+ CheckBody string `json:"check_body,omitzero"`
+ CheckPassive *bool `json:"check_passive,omitzero"`
+ CheckTimeout int `json:"check_timeout,omitzero"`
// NOTE: UDPCheckPort may not currently be available to all users.
- UDPCheckPort *int `json:"udp_check_port,omitempty"`
+ UDPCheckPort *int `json:"udp_check_port,omitzero"`
- CipherSuite ConfigCipher `json:"cipher_suite,omitempty"`
- SSLCert string `json:"ssl_cert,omitempty"`
- SSLKey string `json:"ssl_key,omitempty"`
+ CipherSuite ConfigCipher `json:"cipher_suite,omitzero"`
+ SSLCert string `json:"ssl_cert,omitzero"`
+ SSLKey string `json:"ssl_key,omitzero"`
Nodes []NodeBalancerConfigRebuildNodeOptions `json:"nodes"`
}
@@ -158,7 +158,7 @@ type NodeBalancerConfigRebuildOptions struct {
type NodeBalancerConfigRebuildNodeOptions struct {
NodeBalancerNodeCreateOptions
- ID int `json:"id,omitempty"`
+ ID int `json:"id,omitzero"`
}
// NodeBalancerConfigUpdateOptions are permitted by UpdateNodeBalancerConfig
diff --git a/object_storage_bucket_certs.go b/object_storage_bucket_certs.go
index 36fb5301f..e38abd8d6 100644
--- a/object_storage_bucket_certs.go
+++ b/object_storage_bucket_certs.go
@@ -4,12 +4,7 @@ import (
"context"
)
-// Deprecated: Please use ObjectStorageBucketCertV2 for all new implementations.
type ObjectStorageBucketCert struct {
- SSL bool `json:"ssl"`
-}
-
-type ObjectStorageBucketCertV2 struct {
SSL *bool `json:"ssl"`
}
@@ -19,43 +14,23 @@ type ObjectStorageBucketCertUploadOptions struct {
}
// UploadObjectStorageBucketCert uploads a TLS/SSL Cert to be used with an Object Storage Bucket.
-//
-// Deprecated: Please use UploadObjectStorageBucketCertV2 for all new implementations.
func (c *Client) UploadObjectStorageBucketCert(
ctx context.Context,
- clusterOrRegionID, bucket string,
+ regionID, bucket string,
opts ObjectStorageBucketCertUploadOptions,
) (*ObjectStorageBucketCert, error) {
- e := formatAPIPath("object-storage/buckets/%s/%s/ssl", clusterOrRegionID, bucket)
+ e := formatAPIPath("object-storage/buckets/%s/%s/ssl", regionID, bucket)
return doPOSTRequest[ObjectStorageBucketCert](ctx, c, e, opts)
}
// GetObjectStorageBucketCert gets an ObjectStorageBucketCert
-//
-// Deprecated: Please use GetObjectStorageBucketCertV2 for all new implementations.
-func (c *Client) GetObjectStorageBucketCert(ctx context.Context, clusterOrRegionID, bucket string) (*ObjectStorageBucketCert, error) {
- e := formatAPIPath("object-storage/buckets/%s/%s/ssl", clusterOrRegionID, bucket)
+func (c *Client) GetObjectStorageBucketCert(ctx context.Context, regionID, bucket string) (*ObjectStorageBucketCert, error) {
+ e := formatAPIPath("object-storage/buckets/%s/%s/ssl", regionID, bucket)
return doGETRequest[ObjectStorageBucketCert](ctx, c, e)
}
-// UploadObjectStorageBucketCertV2 uploads a TLS/SSL Cert to be used with an Object Storage Bucket.
-func (c *Client) UploadObjectStorageBucketCertV2(
- ctx context.Context,
- clusterOrRegionID, bucket string,
- opts ObjectStorageBucketCertUploadOptions,
-) (*ObjectStorageBucketCertV2, error) {
- e := formatAPIPath("object-storage/buckets/%s/%s/ssl", clusterOrRegionID, bucket)
- return doPOSTRequest[ObjectStorageBucketCertV2](ctx, c, e, opts)
-}
-
-// GetObjectStorageBucketCertV2 gets an ObjectStorageBucketCert
-func (c *Client) GetObjectStorageBucketCertV2(ctx context.Context, clusterOrRegionID, bucket string) (*ObjectStorageBucketCertV2, error) {
- e := formatAPIPath("object-storage/buckets/%s/%s/ssl", clusterOrRegionID, bucket)
- return doGETRequest[ObjectStorageBucketCertV2](ctx, c, e)
-}
-
// DeleteObjectStorageBucketCert deletes an ObjectStorageBucketCert
-func (c *Client) DeleteObjectStorageBucketCert(ctx context.Context, clusterOrRegionID, bucket string) error {
- e := formatAPIPath("object-storage/buckets/%s/%s/ssl", clusterOrRegionID, bucket)
+func (c *Client) DeleteObjectStorageBucketCert(ctx context.Context, regionID, bucket string) error {
+ e := formatAPIPath("object-storage/buckets/%s/%s/ssl", regionID, bucket)
return doDELETERequest(ctx, c, e)
}
diff --git a/object_storage_buckets.go b/object_storage_buckets.go
index f8eed4963..1e6e92107 100644
--- a/object_storage_buckets.go
+++ b/object_storage_buckets.go
@@ -7,22 +7,14 @@ import (
"time"
"github.com/google/go-querystring/query"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// ObjectStorageBucket represents a ObjectStorage object
type ObjectStorageBucket struct {
Label string `json:"label"`
- // Deprecated: The 'Cluster' field has been deprecated in favor of the 'Region' field.
- // For example, a Cluster value of `us-mia-1` will translate to a Region value of `us-mia`.
- //
- // This is necessary because there are now multiple Object Storage clusters to a region.
- //
- // NOTE: The 'Cluster' field will always return a value similar to `-1` (e.g., `us-mia-1`)
- // for backward compatibility purposes.
- Cluster string `json:"cluster"`
- Region string `json:"region"`
+ Region string `json:"region"`
S3Endpoint string `json:"s3_endpoint"`
EndpointType ObjectStorageEndpointType `json:"endpoint_type"`
@@ -32,13 +24,7 @@ type ObjectStorageBucket struct {
Size int `json:"size"`
}
-// ObjectStorageBucketAccess holds Object Storage access info
type ObjectStorageBucketAccess struct {
- ACL ObjectStorageACL `json:"acl"`
- CorsEnabled bool `json:"cors_enabled"`
-}
-
-type ObjectStorageBucketAccessV2 struct {
ACL ObjectStorageACL `json:"acl"`
ACLXML string `json:"acl_xml"`
CorsEnabled *bool `json:"cors_enabled"`
@@ -84,26 +70,26 @@ func (i *ObjectStorageBucket) UnmarshalJSON(b []byte) error {
// ObjectStorageBucketCreateOptions fields are those accepted by CreateObjectStorageBucket
type ObjectStorageBucketCreateOptions struct {
- // Deprecated: The 'Cluster' field has been deprecated.
- //
- // Going forward, the 'Region' field will be the supported way to designate where an
- // Object Storage Bucket should be created. For example, a 'Cluster' value of `us-mia-1`
- // will translate to a Region value of `us-mia`.
- Cluster string `json:"cluster,omitempty"`
- Region string `json:"region,omitempty"`
+ Region string `json:"region,omitzero"`
Label string `json:"label"`
- S3Endpoint string `json:"s3_endpoint,omitempty"`
- EndpointType ObjectStorageEndpointType `json:"endpoint_type,omitempty"`
+ S3Endpoint string `json:"s3_endpoint,omitzero"`
+ EndpointType ObjectStorageEndpointType `json:"endpoint_type,omitzero"`
- ACL ObjectStorageACL `json:"acl,omitempty"`
- CorsEnabled *bool `json:"cors_enabled,omitempty"`
+ ACL ObjectStorageACL `json:"acl,omitzero"`
+ CorsEnabled *bool `json:"cors_enabled,omitzero"`
+}
+
+// ObjectStorageBucketModifyAccessOptions fields are those accepted by ModifyObjectStorageBucketAccess
+type ObjectStorageBucketModifyAccessOptions struct {
+ ACL ObjectStorageACL `json:"acl,omitzero"`
+ CorsEnabled *bool `json:"cors_enabled,omitzero"`
}
// ObjectStorageBucketUpdateAccessOptions fields are those accepted by UpdateObjectStorageBucketAccess
type ObjectStorageBucketUpdateAccessOptions struct {
- ACL ObjectStorageACL `json:"acl,omitempty"`
- CorsEnabled *bool `json:"cors_enabled,omitempty"`
+ ACL ObjectStorageACL `json:"acl,omitzero"`
+ CorsEnabled *bool `json:"cors_enabled,omitzero"`
}
// ObjectStorageBucketListContentsParams fields are the query parameters for ListObjectStorageBucketContents
@@ -130,14 +116,14 @@ func (c *Client) ListObjectStorageBuckets(ctx context.Context, opts *ListOptions
return getPaginatedResults[ObjectStorageBucket](ctx, c, "object-storage/buckets", opts)
}
-// ListObjectStorageBucketsInCluster lists all ObjectStorageBuckets of a cluster
-func (c *Client) ListObjectStorageBucketsInCluster(ctx context.Context, opts *ListOptions, clusterOrRegionID string) ([]ObjectStorageBucket, error) {
- return getPaginatedResults[ObjectStorageBucket](ctx, c, formatAPIPath("object-storage/buckets/%s", clusterOrRegionID), opts)
+// ListObjectStorageBucketsInRegion lists all ObjectStorageBuckets in the specified region
+func (c *Client) ListObjectStorageBucketsInRegion(ctx context.Context, opts *ListOptions, regionID string) ([]ObjectStorageBucket, error) {
+ return getPaginatedResults[ObjectStorageBucket](ctx, c, formatAPIPath("object-storage/buckets/%s", regionID), opts)
}
// GetObjectStorageBucket gets the ObjectStorageBucket with the provided label
-func (c *Client) GetObjectStorageBucket(ctx context.Context, clusterOrRegionID, label string) (*ObjectStorageBucket, error) {
- e := formatAPIPath("object-storage/buckets/%s/%s", clusterOrRegionID, label)
+func (c *Client) GetObjectStorageBucket(ctx context.Context, regionID, label string) (*ObjectStorageBucket, error) {
+ e := formatAPIPath("object-storage/buckets/%s/%s", regionID, label)
return doGETRequest[ObjectStorageBucket](ctx, c, e)
}
@@ -146,39 +132,37 @@ func (c *Client) CreateObjectStorageBucket(ctx context.Context, opts ObjectStora
return doPOSTRequest[ObjectStorageBucket](ctx, c, "object-storage/buckets", opts)
}
-// GetObjectStorageBucketAccess gets the current access config for a bucket
-//
-// Deprecated: use GetObjectStorageBucketAccessV2 for new implementations
-func (c *Client) GetObjectStorageBucketAccess(ctx context.Context, clusterOrRegionID, label string) (*ObjectStorageBucketAccess, error) {
- e := formatAPIPath("object-storage/buckets/%s/%s/access", clusterOrRegionID, label)
- return doGETRequest[ObjectStorageBucketAccess](ctx, c, e)
+// ModifyObjectStorageBucketAccess modifies the access configuration for an ObjectStorageBucket
+func (c *Client) ModifyObjectStorageBucketAccess(ctx context.Context, regionID, label string, opts ObjectStorageBucketModifyAccessOptions) error {
+ e := formatAPIPath("object-storage/buckets/%s/%s/access", regionID, label)
+ return doPOSTRequestNoResponseBody(ctx, c, e, opts)
}
// UpdateObjectStorageBucketAccess updates the access configuration for an ObjectStorageBucket
-func (c *Client) UpdateObjectStorageBucketAccess(ctx context.Context, clusterOrRegionID, label string, opts ObjectStorageBucketUpdateAccessOptions) error {
- e := formatAPIPath("object-storage/buckets/%s/%s/access", clusterOrRegionID, label)
- return doPOSTRequestNoResponseBody(ctx, c, e, opts)
+func (c *Client) UpdateObjectStorageBucketAccess(ctx context.Context, regionID, label string, opts ObjectStorageBucketUpdateAccessOptions) error {
+ e := formatAPIPath("object-storage/buckets/%s/%s/access", regionID, label)
+ return doPUTRequestNoResponseBody(ctx, c, e, opts)
}
-// GetObjectStorageBucketAccessV2 gets the current access config for a bucket
-func (c *Client) GetObjectStorageBucketAccessV2(ctx context.Context, clusterOrRegionID, label string) (*ObjectStorageBucketAccessV2, error) {
- e := formatAPIPath("object-storage/buckets/%s/%s/access", clusterOrRegionID, label)
- return doGETRequest[ObjectStorageBucketAccessV2](ctx, c, e)
+// GetObjectStorageBucketAccess gets the current access config for a bucket
+func (c *Client) GetObjectStorageBucketAccess(ctx context.Context, regionID, label string) (*ObjectStorageBucketAccess, error) {
+ e := formatAPIPath("object-storage/buckets/%s/%s/access", regionID, label)
+ return doGETRequest[ObjectStorageBucketAccess](ctx, c, e)
}
// DeleteObjectStorageBucket deletes the ObjectStorageBucket with the specified label
-func (c *Client) DeleteObjectStorageBucket(ctx context.Context, clusterOrRegionID, label string) error {
- e := formatAPIPath("object-storage/buckets/%s/%s", clusterOrRegionID, label)
+func (c *Client) DeleteObjectStorageBucket(ctx context.Context, regionID, label string) error {
+ e := formatAPIPath("object-storage/buckets/%s/%s", regionID, label)
return doDELETERequest(ctx, c, e)
}
// ListObjectStorageBucketContents lists the contents of the specified ObjectStorageBucket
func (c *Client) ListObjectStorageBucketContents(
ctx context.Context,
- clusterOrRegionID, label string,
+ regionID, label string,
params *ObjectStorageBucketListContentsParams,
) (*ObjectStorageBucketContent, error) {
- basePath := formatAPIPath("object-storage/buckets/%s/%s/object-list", clusterOrRegionID, label)
+ basePath := formatAPIPath("object-storage/buckets/%s/%s/object-list", regionID, label)
queryString := ""
diff --git a/object_storage_clusters.go b/object_storage_clusters.go
deleted file mode 100644
index e4793241c..000000000
--- a/object_storage_clusters.go
+++ /dev/null
@@ -1,26 +0,0 @@
-package linodego
-
-import (
- "context"
-)
-
-// ObjectStorageCluster represents a linode object storage cluster object
-type ObjectStorageCluster struct {
- ID string `json:"id"`
- Domain string `json:"domain"`
- Status string `json:"status"`
- Region string `json:"region"`
- StaticSiteDomain string `json:"static_site_domain"`
-}
-
-// ListObjectStorageClusters lists ObjectStorageClusters
-func (c *Client) ListObjectStorageClusters(ctx context.Context, opts *ListOptions) ([]ObjectStorageCluster, error) {
- return getPaginatedResults[ObjectStorageCluster](ctx, c, "object-storage/clusters", opts)
-}
-
-// Deprecated: GetObjectStorageCluster uses a deprecated API endpoint.
-// GetObjectStorageCluster gets the template with the provided ID
-func (c *Client) GetObjectStorageCluster(ctx context.Context, clusterID string) (*ObjectStorageCluster, error) {
- e := formatAPIPath("object-storage/clusters/%s", clusterID)
- return doGETRequest[ObjectStorageCluster](ctx, c, e)
-}
diff --git a/object_storage_keys.go b/object_storage_keys.go
index cfc2ef480..3da396c9a 100644
--- a/object_storage_keys.go
+++ b/object_storage_keys.go
@@ -23,11 +23,14 @@ type ObjectStorageKey struct {
// ObjectStorageKeyBucketAccess represents a linode limited object storage key's bucket access
type ObjectStorageKeyBucketAccess struct {
- // Deprecated: Cluster field has been deprecated.
- // Please consider switching to use the 'Region' field.
- // If your Cluster is `us-mia-1`, then the region would be `us-mia`.
- Cluster string `json:"cluster,omitempty"`
- Region string `json:"region,omitempty"`
+ Region string `json:"region,omitzero"`
+
+ BucketName string `json:"bucket_name"`
+ Permissions string `json:"permissions"`
+}
+
+type ObjectStorageKeyBucketAccessCreateOptions struct {
+ Region string `json:"region,omitzero"`
BucketName string `json:"bucket_name"`
Permissions string `json:"permissions"`
@@ -35,15 +38,15 @@ type ObjectStorageKeyBucketAccess struct {
// ObjectStorageKeyCreateOptions fields are those accepted by CreateObjectStorageKey
type ObjectStorageKeyCreateOptions struct {
- Label string `json:"label"`
- BucketAccess *[]ObjectStorageKeyBucketAccess `json:"bucket_access,omitempty"`
- Regions []string `json:"regions,omitempty"`
+ Label string `json:"label"`
+ BucketAccess []ObjectStorageKeyBucketAccessCreateOptions `json:"bucket_access,omitzero"`
+ Regions []string `json:"regions,omitzero"`
}
// ObjectStorageKeyUpdateOptions fields are those accepted by UpdateObjectStorageKey
type ObjectStorageKeyUpdateOptions struct {
- Label string `json:"label,omitempty"`
- Regions []string `json:"regions,omitempty"`
+ Label string `json:"label,omitzero"`
+ Regions []string `json:"regions,omitzero"`
}
// ListObjectStorageKeys lists ObjectStorageKeys
diff --git a/object_storage_object.go b/object_storage_object.go
index 2e9cf8890..1f2d6fbad 100644
--- a/object_storage_object.go
+++ b/object_storage_object.go
@@ -7,9 +7,9 @@ import (
type ObjectStorageObjectURLCreateOptions struct {
Name string `json:"name"`
Method string `json:"method"`
- ContentType string `json:"content_type,omitempty"`
- ContentDisposition string `json:"content_disposition,omitempty"`
- ExpiresIn *int `json:"expires_in,omitempty"`
+ ContentType string `json:"content_type,omitzero"`
+ ContentDisposition string `json:"content_disposition,omitzero"`
+ ExpiresIn *int `json:"expires_in,omitzero"`
}
type ObjectStorageObjectURL struct {
@@ -17,13 +17,7 @@ type ObjectStorageObjectURL struct {
Exists bool `json:"exists"`
}
-// Deprecated: Please use ObjectStorageObjectACLConfigV2 for all new implementations.
type ObjectStorageObjectACLConfig struct {
- ACL string `json:"acl"`
- ACLXML string `json:"acl_xml"`
-}
-
-type ObjectStorageObjectACLConfigV2 struct {
ACL *string `json:"acl"`
ACLXML *string `json:"acl_xml"`
}
@@ -35,39 +29,23 @@ type ObjectStorageObjectACLConfigUpdateOptions struct {
func (c *Client) CreateObjectStorageObjectURL(
ctx context.Context,
- objectID, label string,
+ regionID, label string,
opts ObjectStorageObjectURLCreateOptions,
) (*ObjectStorageObjectURL, error) {
- e := formatAPIPath("object-storage/buckets/%s/%s/object-url", objectID, label)
+ e := formatAPIPath("object-storage/buckets/%s/%s/object-url", regionID, label)
return doPOSTRequest[ObjectStorageObjectURL](ctx, c, e, opts)
}
-// Deprecated: use GetObjectStorageObjectACLConfigV2 for new implementations
-func (c *Client) GetObjectStorageObjectACLConfig(ctx context.Context, objectID, label, object string) (*ObjectStorageObjectACLConfig, error) {
- e := formatAPIPath("object-storage/buckets/%s/%s/object-acl?name=%s", objectID, label, object)
+func (c *Client) GetObjectStorageObjectACLConfig(ctx context.Context, regionID, label, object string) (*ObjectStorageObjectACLConfig, error) {
+ e := formatAPIPath("object-storage/buckets/%s/%s/object-acl?name=%s", regionID, label, object)
return doGETRequest[ObjectStorageObjectACLConfig](ctx, c, e)
}
-// Deprecated: use UpdateObjectStorageObjectACLConfigV2 for new implementations
func (c *Client) UpdateObjectStorageObjectACLConfig(
ctx context.Context,
- objectID, label string,
+ regionID, label string,
opts ObjectStorageObjectACLConfigUpdateOptions,
) (*ObjectStorageObjectACLConfig, error) {
- e := formatAPIPath("object-storage/buckets/%s/%s/object-acl", objectID, label)
+ e := formatAPIPath("object-storage/buckets/%s/%s/object-acl", regionID, label)
return doPUTRequest[ObjectStorageObjectACLConfig](ctx, c, e, opts)
}
-
-func (c *Client) GetObjectStorageObjectACLConfigV2(ctx context.Context, objectID, label, object string) (*ObjectStorageObjectACLConfigV2, error) {
- e := formatAPIPath("object-storage/buckets/%s/%s/object-acl?name=%s", objectID, label, object)
- return doGETRequest[ObjectStorageObjectACLConfigV2](ctx, c, e)
-}
-
-func (c *Client) UpdateObjectStorageObjectACLConfigV2(
- ctx context.Context,
- objectID, label string,
- opts ObjectStorageObjectACLConfigUpdateOptions,
-) (*ObjectStorageObjectACLConfigV2, error) {
- e := formatAPIPath("object-storage/buckets/%s/%s/object-acl", objectID, label)
- return doPUTRequest[ObjectStorageObjectACLConfigV2](ctx, c, e, opts)
-}
diff --git a/paged_response_structs.go b/paged_response_structs.go
deleted file mode 100644
index 50af24c64..000000000
--- a/paged_response_structs.go
+++ /dev/null
@@ -1,174 +0,0 @@
-package linodego
-
-// Deprecated: AccountAvailabilityPagedResponse exists for historical compatibility and should not be used.
-type AccountAvailabilityPagedResponse legacyPagedResponse[AccountAvailability]
-
-// Deprecated: AccountBetasPagedResponse exists for historical compatibility and should not be used.
-type AccountBetasPagedResponse legacyPagedResponse[AccountBetaProgram]
-
-// Deprecated: BetaProgramPagedResponse exists for historical compatibility and should not be used.
-type BetaProgramPagedResponse legacyPagedResponse[BetaProgram]
-
-// Deprecated: DatabaseEnginesPagedResponse exists for historical compatibility and should not be used.
-type DatabaseEnginesPagedResponse legacyPagedResponse[DatabaseEngine]
-
-// Deprecated: DatabaseTypesPagedResponse exists for historical compatibility and should not be used.
-type DatabaseTypesPagedResponse legacyPagedResponse[DatabaseType]
-
-// Deprecated: DatabasesPagedResponse exists for historical compatibility and should not be used.
-type DatabasesPagedResponse legacyPagedResponse[Database]
-
-// Deprecated: DomainRecordsPagedResponse exists for historical compatibility and should not be used.
-type DomainRecordsPagedResponse legacyPagedResponse[DomainRecord]
-
-// Deprecated: DomainsPagedResponse exists for historical compatibility and should not be used.
-type DomainsPagedResponse legacyPagedResponse[Domain]
-
-// Deprecated: EventsPagedResponse exists for historical compatibility and should not be used.
-type EventsPagedResponse legacyPagedResponse[Event]
-
-// Deprecated: FirewallDevicesPagedResponse exists for historical compatibility and should not be used.
-type FirewallDevicesPagedResponse legacyPagedResponse[FirewallDevice]
-
-// Deprecated: FirewallsPagedResponse exists for historical compatibility and should not be used.
-type FirewallsPagedResponse legacyPagedResponse[Firewall]
-
-// Deprecated: ImagesPagedResponse exists for historical compatibility and should not be used.
-type ImagesPagedResponse legacyPagedResponse[Image]
-
-// Deprecated: InstanceConfigsPagedResponse exists for historical compatibility and should not be used.
-type InstanceConfigsPagedResponse legacyPagedResponse[InstanceConfig]
-
-// Deprecated: InstanceDisksPagedResponse exists for historical compatibility and should not be used.
-type InstanceDisksPagedResponse legacyPagedResponse[InstanceDisk]
-
-// Deprecated: InstanceFirewallsPagedResponse exists for historical compatibility and should not be used.
-type InstanceFirewallsPagedResponse legacyPagedResponse[Firewall]
-
-// Deprecated: InstanceVolumesPagedResponse exists for historical compatibility and should not be used.
-type InstanceVolumesPagedResponse legacyPagedResponse[Volume]
-
-// Deprecated: InstancesPagedResponse exists for historical compatibility and should not be used.
-type InstancesPagedResponse legacyPagedResponse[Instance]
-
-// Deprecated: InvoiceItemsPagedResponse exists for historical compatibility and should not be used.
-type InvoiceItemsPagedResponse legacyPagedResponse[InvoiceItem]
-
-// Deprecated: InvoicesPagedResponse exists for historical compatibility and should not be used.
-type InvoicesPagedResponse legacyPagedResponse[Invoice]
-
-// Deprecated: LKEClusterPoolsPagedResponse exists for historical compatibility and should not be used.
-// LKEClusterPoolsPagedResponse represents a paginated LKEClusterPool API response.
-type LKEClusterPoolsPagedResponse LKENodePoolsPagedResponse
-
-// Deprecated: LKEVersionsPagedResponse exists for historical compatibility and should not be used.
-type LKEVersionsPagedResponse legacyPagedResponse[LKEVersion]
-
-// Deprecated: LKEClusterAPIEndpointsPagedResponse exists for historical compatibility and should not be used.
-type LKEClusterAPIEndpointsPagedResponse legacyPagedResponse[LKEClusterAPIEndpoint]
-
-// Deprecated: LKEClustersPagedResponse exists for historical compatibility and should not be used.
-type LKEClustersPagedResponse legacyPagedResponse[LKECluster]
-
-// Deprecated: LKENodePoolsPagedResponse exists for historical compatibility and should not be used.
-type LKENodePoolsPagedResponse legacyPagedResponse[LKENodePool]
-
-// Deprecated: IPAddressesPagedResponse exists for historical compatibility and should not be used.
-type IPAddressesPagedResponse legacyPagedResponse[InstanceIP]
-
-// Deprecated: IPv6PoolsPagedResponse exists for historical compatibility and should not be used.
-type IPv6PoolsPagedResponse legacyPagedResponse[IPv6Range]
-
-// Deprecated: IPv6RangesPagedResponse exists for historical compatibility and should not be used.
-type IPv6RangesPagedResponse legacyPagedResponse[IPv6Range]
-
-// Deprecated: LinodeKernelsPagedResponse exists for historical compatibility and should not be used.
-type LinodeKernelsPagedResponse legacyPagedResponse[LinodeKernel]
-
-// Deprecated: LinodeTypesPagedResponse exists for historical compatibility and should not be used.
-type LinodeTypesPagedResponse legacyPagedResponse[LinodeType]
-
-// Deprecated: LoginsPagedResponse exists for historical compatibility and should not be used.
-type LoginsPagedResponse legacyPagedResponse[Login]
-
-// Deprecated: LongviewClientsPagedResponse exists for historical compatibility and should not be used.
-type LongviewClientsPagedResponse legacyPagedResponse[LongviewClient]
-
-// Deprecated: LongviewSubscriptionsPagedResponse exists for historical compatibility and should not be used.
-type LongviewSubscriptionsPagedResponse legacyPagedResponse[LongviewSubscription]
-
-// Deprecated: MySQLDatabasesPagedResponse exists for historical compatibility and should not be used.
-type MySQLDatabasesPagedResponse legacyPagedResponse[MySQLDatabase]
-
-// Deprecated: NodeBalancersPagedResponse exists for historical compatibility and should not be used.
-type NodeBalancersPagedResponse legacyPagedResponse[NodeBalancer]
-
-// Deprecated: NodeBalancerConfigsPagedResponse exists for historical compatibility and should not be used.
-type NodeBalancerConfigsPagedResponse legacyPagedResponse[NodeBalancerConfig]
-
-// Deprecated: NodeBalancerNodesPagedResponse exists for historical compatibility and should not be used.
-type NodeBalancerNodesPagedResponse legacyPagedResponse[NodeBalancerNode]
-
-// Deprecated: NodeBalancerFirewallsPagedResponse exists for historical compatibility and should not be used.
-type NodeBalancerFirewallsPagedResponse legacyPagedResponse[Firewall]
-
-// Deprecated: NotificationsPagedResponse exists for historical compatibility and should not be used.
-type NotificationsPagedResponse legacyPagedResponse[Notification]
-
-// Deprecated: OAuthClientsPagedResponse exists for historical compatibility and should not be used.
-type OAuthClientsPagedResponse legacyPagedResponse[OAuthClient]
-
-// Deprecated: ObjectStorageKeysPagedResponse exists for historical compatibility and should not be used.
-type ObjectStorageKeysPagedResponse legacyPagedResponse[ObjectStorageKey]
-
-// Deprecated: ObjectStorageBucketsPagedResponse exists for historical compatibility and should not be used.
-type ObjectStorageBucketsPagedResponse legacyPagedResponse[ObjectStorageBucket]
-
-// Deprecated: ObjectStorageClustersPagedResponse exists for historical compatibility and should not be used.
-type ObjectStorageClustersPagedResponse legacyPagedResponse[ObjectStorageCluster]
-
-// Deprecated: PaymentsPagedResponse exists for historical compatibility and should not be used.
-type PaymentsPagedResponse legacyPagedResponse[Payment]
-
-// Deprecated: RegionsPagedResponse exists for historical compatibility and should not be used.
-type RegionsPagedResponse legacyPagedResponse[Region]
-
-// Deprecated: SSHKeysPagedResponse exists for historical compatibility and should not be used.
-type SSHKeysPagedResponse legacyPagedResponse[SSHKey]
-
-// Deprecated: TokensPagedResponse exists for historical compatibility and should not be used.
-type (
- TokensPagedResponse legacyPagedResponse[Token]
- // Deprecated: RegionsAvailabilityPagedResponse exists for historical compatibility and should not be used.
- RegionsAvailabilityPagedResponse legacyPagedResponse[RegionAvailability]
-)
-
-// Deprecated: StackscriptsPagedResponse exists for historical compatibility and should not be used.
-type StackscriptsPagedResponse legacyPagedResponse[Stackscript]
-
-// Deprecated: TagsPagedResponse exists for historical compatibility and should not be used.
-type TagsPagedResponse legacyPagedResponse[Tag]
-
-// Deprecated: TaggedObjectsPagedResponse exists for historical compatibility and should not be used.
-type TaggedObjectsPagedResponse legacyPagedResponse[TaggedObject]
-
-// Deprecated: TicketsPagedResponse exists for historical compatibility and should not be used.
-type TicketsPagedResponse legacyPagedResponse[Ticket]
-
-// Deprecated: PostgresDatabasesPagedResponse exists for historical compatibility and should not be used.
-type PostgresDatabasesPagedResponse legacyPagedResponse[PostgresDatabase]
-
-// Deprecated: ProfileLoginsPagedResponse exists for historical compatibility and should not be used.
-type ProfileLoginsPagedResponse legacyPagedResponse[ProfileLogin]
-
-// Deprecated: UsersPagedResponse exists for historical compatibility and should not be used.
-type UsersPagedResponse legacyPagedResponse[User]
-
-// Deprecated: VolumesPagedResponse exists for historical compatibility and should not be used.
-type VolumesPagedResponse legacyPagedResponse[Volume]
-
-// Deprecated: VPCsPagedResponse exists for historical compatibility and should not be used.
-type VPCsPagedResponse legacyPagedResponse[VPC]
-
-// Deprecated: VPCSubnetsPagedResponse exists for historical compatibility and should not be used.
-type VPCSubnetsPagedResponse legacyPagedResponse[VPCSubnet]
diff --git a/pagination.go b/pagination.go
index 074720e82..57ca27ca7 100644
--- a/pagination.go
+++ b/pagination.go
@@ -9,17 +9,16 @@ import (
"encoding/hex"
"encoding/json"
"fmt"
+ "net/http"
"reflect"
"strconv"
-
- "github.com/go-resty/resty/v2"
)
// PageOptions are the pagination parameters for List endpoints
type PageOptions struct {
- Page int `json:"page" url:"page,omitempty"`
- Pages int `json:"pages" url:"pages,omitempty"`
- Results int `json:"results" url:"results,omitempty"`
+ Page int `json:"page"`
+ Pages int `json:"pages"`
+ Results int `json:"results"`
}
// ListOptions are the pagination and filtering (TODO) parameters for endpoints
@@ -56,38 +55,51 @@ func (l ListOptions) Hash() (string, error) {
return hex.EncodeToString(h.Sum(nil)), nil
}
-func applyListOptionsToRequest(opts *ListOptions, req *resty.Request) error {
+func createListOptionsToRequestMutator(opts *ListOptions) func(*http.Request) error {
if opts == nil {
return nil
}
- if opts.QueryParams != nil {
- params, err := flattenQueryStruct(opts.QueryParams)
- if err != nil {
- return fmt.Errorf("failed to apply list options: %w", err)
+ // Return a mutator to apply query parameters and headers
+ return func(req *http.Request) error {
+ query := req.URL.Query()
+
+ // Apply QueryParams from ListOptions if present
+ if opts.QueryParams != nil {
+ params, err := flattenQueryStruct(opts.QueryParams)
+ if err != nil {
+ return fmt.Errorf("failed to apply list options: %w", err)
+ }
+
+ for key, value := range params {
+ query.Set(key, value)
+ }
}
- req.SetQueryParams(params)
- }
+ // Apply pagination options
+ if opts.PageOptions != nil && opts.Page > 0 {
+ query.Set("page", strconv.Itoa(opts.Page))
+ }
- if opts.PageOptions != nil && opts.Page > 0 {
- req.SetQueryParam("page", strconv.Itoa(opts.Page))
- }
+ if opts.PageSize > 0 {
+ query.Set("page_size", strconv.Itoa(opts.PageSize))
+ }
- if opts.PageSize > 0 {
- req.SetQueryParam("page_size", strconv.Itoa(opts.PageSize))
- }
+ // Apply filters as headers
+ if len(opts.Filter) > 0 {
+ req.Header.Set("X-Filter", opts.Filter)
+ }
- if len(opts.Filter) > 0 {
- req.SetHeader("X-Filter", opts.Filter)
- }
+ // Assign the updated query back to the request URL
+ req.URL.RawQuery = query.Encode()
- return nil
+ return nil
+ }
}
type PagedResponse interface {
endpoint(...any) string
- castResult(*resty.Request, string) (int, int, error)
+ castResult(*http.Request, string) (int, int, error)
}
// flattenQueryStruct flattens a structure into a Resty-compatible query param map.
@@ -162,9 +174,3 @@ func queryFieldToString(value reflect.Value) (string, error) {
return "", fmt.Errorf("unsupported query param type: %s", value.Type().Name())
}
}
-
-type legacyPagedResponse[T any] struct {
- *PageOptions
-
- Data []T `json:"data"`
-}
diff --git a/placement_groups.go b/placement_groups.go
index 189b3ace1..04effa2d9 100644
--- a/placement_groups.go
+++ b/placement_groups.go
@@ -61,14 +61,14 @@ type PlacementGroupCreateOptions struct {
// PlacementGroupUpdateOptions represents the options to use
// when updating a placement group.
type PlacementGroupUpdateOptions struct {
- Label string `json:"label,omitempty"`
+ Label string `json:"label,omitzero"`
}
// PlacementGroupAssignOptions represents options used when
// assigning Linodes to a placement group.
type PlacementGroupAssignOptions struct {
Linodes []int `json:"linodes"`
- CompliantOnly *bool `json:"compliant_only,omitempty"`
+ CompliantOnly *bool `json:"compliant_only,omitzero"`
}
// PlacementGroupUnAssignOptions represents options used when
diff --git a/postgres.go b/postgres.go
index ac4a78cf5..6f553a0ee 100644
--- a/postgres.go
+++ b/postgres.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
type PostgresDatabaseTarget string
@@ -62,65 +62,65 @@ type PostgresDatabase struct {
UsedDiskSizeGB int `json:"used_disk_size_gb"`
TotalDiskSizeGB int `json:"total_disk_size_gb"`
EngineConfig PostgresDatabaseEngineConfig `json:"engine_config"`
- PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitempty"`
+ PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitzero"`
}
type PostgresDatabaseEngineConfig struct {
- PG *PostgresDatabaseEngineConfigPG `json:"pg,omitempty"`
- PGStatMonitorEnable *bool `json:"pg_stat_monitor_enable,omitempty"`
- PGLookout *PostgresDatabaseEngineConfigPGLookout `json:"pglookout,omitempty"`
- SharedBuffersPercentage *float64 `json:"shared_buffers_percentage,omitempty"`
- WorkMem *int `json:"work_mem,omitempty"`
+ PG *PostgresDatabaseEngineConfigPG `json:"pg,omitzero"`
+ PGStatMonitorEnable *bool `json:"pg_stat_monitor_enable,omitzero"`
+ PGLookout *PostgresDatabaseEngineConfigPGLookout `json:"pglookout,omitzero"`
+ SharedBuffersPercentage *float64 `json:"shared_buffers_percentage,omitzero"`
+ WorkMem *int `json:"work_mem,omitzero"`
}
type PostgresDatabaseEngineConfigPG struct {
- AutovacuumAnalyzeScaleFactor *float64 `json:"autovacuum_analyze_scale_factor,omitempty"`
- AutovacuumAnalyzeThreshold *int32 `json:"autovacuum_analyze_threshold,omitempty"`
- AutovacuumMaxWorkers *int `json:"autovacuum_max_workers,omitempty"`
- AutovacuumNaptime *int `json:"autovacuum_naptime,omitempty"`
- AutovacuumVacuumCostDelay *int `json:"autovacuum_vacuum_cost_delay,omitempty"`
- AutovacuumVacuumCostLimit *int `json:"autovacuum_vacuum_cost_limit,omitempty"`
- AutovacuumVacuumScaleFactor *float64 `json:"autovacuum_vacuum_scale_factor,omitempty"`
- AutovacuumVacuumThreshold *int32 `json:"autovacuum_vacuum_threshold,omitempty"`
- BGWriterDelay *int `json:"bgwriter_delay,omitempty"`
- BGWriterFlushAfter *int `json:"bgwriter_flush_after,omitempty"`
- BGWriterLRUMaxPages *int `json:"bgwriter_lru_maxpages,omitempty"`
- BGWriterLRUMultiplier *float64 `json:"bgwriter_lru_multiplier,omitempty"`
- DeadlockTimeout *int `json:"deadlock_timeout,omitempty"`
- DefaultToastCompression *string `json:"default_toast_compression,omitempty"`
- IdleInTransactionSessionTimeout *int `json:"idle_in_transaction_session_timeout,omitempty"`
- JIT *bool `json:"jit,omitempty"`
- MaxFilesPerProcess *int `json:"max_files_per_process,omitempty"`
- MaxLocksPerTransaction *int `json:"max_locks_per_transaction,omitempty"`
- MaxLogicalReplicationWorkers *int `json:"max_logical_replication_workers,omitempty"`
- MaxParallelWorkers *int `json:"max_parallel_workers,omitempty"`
- MaxParallelWorkersPerGather *int `json:"max_parallel_workers_per_gather,omitempty"`
- MaxPredLocksPerTransaction *int `json:"max_pred_locks_per_transaction,omitempty"`
- MaxReplicationSlots *int `json:"max_replication_slots,omitempty"`
- MaxSlotWALKeepSize *int32 `json:"max_slot_wal_keep_size,omitempty"`
- MaxStackDepth *int `json:"max_stack_depth,omitempty"`
- MaxStandbyArchiveDelay *int `json:"max_standby_archive_delay,omitempty"`
- MaxStandbyStreamingDelay *int `json:"max_standby_streaming_delay,omitempty"`
- MaxWALSenders *int `json:"max_wal_senders,omitempty"`
- MaxWorkerProcesses *int `json:"max_worker_processes,omitempty"`
- PasswordEncryption *string `json:"password_encryption,omitempty"`
- PGPartmanBGWInterval *int `json:"pg_partman_bgw.interval,omitempty"`
- PGPartmanBGWRole *string `json:"pg_partman_bgw.role,omitempty"`
- PGStatMonitorPGSMEnableQueryPlan *bool `json:"pg_stat_monitor.pgsm_enable_query_plan,omitempty"`
- PGStatMonitorPGSMMaxBuckets *int `json:"pg_stat_monitor.pgsm_max_buckets,omitempty"`
- PGStatStatementsTrack *string `json:"pg_stat_statements.track,omitempty"`
- TempFileLimit *int32 `json:"temp_file_limit,omitempty"`
- Timezone *string `json:"timezone,omitempty"`
- TrackActivityQuerySize *int `json:"track_activity_query_size,omitempty"`
- TrackCommitTimestamp *string `json:"track_commit_timestamp,omitempty"`
- TrackFunctions *string `json:"track_functions,omitempty"`
- TrackIOTiming *string `json:"track_io_timing,omitempty"`
- WALSenderTimeout *int `json:"wal_sender_timeout,omitempty"`
- WALWriterDelay *int `json:"wal_writer_delay,omitempty"`
+ AutovacuumAnalyzeScaleFactor *float64 `json:"autovacuum_analyze_scale_factor,omitzero"`
+ AutovacuumAnalyzeThreshold *int32 `json:"autovacuum_analyze_threshold,omitzero"`
+ AutovacuumMaxWorkers *int `json:"autovacuum_max_workers,omitzero"`
+ AutovacuumNaptime *int `json:"autovacuum_naptime,omitzero"`
+ AutovacuumVacuumCostDelay *int `json:"autovacuum_vacuum_cost_delay,omitzero"`
+ AutovacuumVacuumCostLimit *int `json:"autovacuum_vacuum_cost_limit,omitzero"`
+ AutovacuumVacuumScaleFactor *float64 `json:"autovacuum_vacuum_scale_factor,omitzero"`
+ AutovacuumVacuumThreshold *int32 `json:"autovacuum_vacuum_threshold,omitzero"`
+ BGWriterDelay *int `json:"bgwriter_delay,omitzero"`
+ BGWriterFlushAfter *int `json:"bgwriter_flush_after,omitzero"`
+ BGWriterLRUMaxPages *int `json:"bgwriter_lru_maxpages,omitzero"`
+ BGWriterLRUMultiplier *float64 `json:"bgwriter_lru_multiplier,omitzero"`
+ DeadlockTimeout *int `json:"deadlock_timeout,omitzero"`
+ DefaultToastCompression *string `json:"default_toast_compression,omitzero"`
+ IdleInTransactionSessionTimeout *int `json:"idle_in_transaction_session_timeout,omitzero"`
+ JIT *bool `json:"jit,omitzero"`
+ MaxFilesPerProcess *int `json:"max_files_per_process,omitzero"`
+ MaxLocksPerTransaction *int `json:"max_locks_per_transaction,omitzero"`
+ MaxLogicalReplicationWorkers *int `json:"max_logical_replication_workers,omitzero"`
+ MaxParallelWorkers *int `json:"max_parallel_workers,omitzero"`
+ MaxParallelWorkersPerGather *int `json:"max_parallel_workers_per_gather,omitzero"`
+ MaxPredLocksPerTransaction *int `json:"max_pred_locks_per_transaction,omitzero"`
+ MaxReplicationSlots *int `json:"max_replication_slots,omitzero"`
+ MaxSlotWALKeepSize *int32 `json:"max_slot_wal_keep_size,omitzero"`
+ MaxStackDepth *int `json:"max_stack_depth,omitzero"`
+ MaxStandbyArchiveDelay *int `json:"max_standby_archive_delay,omitzero"`
+ MaxStandbyStreamingDelay *int `json:"max_standby_streaming_delay,omitzero"`
+ MaxWALSenders *int `json:"max_wal_senders,omitzero"`
+ MaxWorkerProcesses *int `json:"max_worker_processes,omitzero"`
+ PasswordEncryption *string `json:"password_encryption,omitzero"`
+ PGPartmanBGWInterval *int `json:"pg_partman_bgw.interval,omitzero"`
+ PGPartmanBGWRole *string `json:"pg_partman_bgw.role,omitzero"`
+ PGStatMonitorPGSMEnableQueryPlan *bool `json:"pg_stat_monitor.pgsm_enable_query_plan,omitzero"`
+ PGStatMonitorPGSMMaxBuckets *int `json:"pg_stat_monitor.pgsm_max_buckets,omitzero"`
+ PGStatStatementsTrack *string `json:"pg_stat_statements.track,omitzero"`
+ TempFileLimit *int32 `json:"temp_file_limit,omitzero"`
+ Timezone *string `json:"timezone,omitzero"`
+ TrackActivityQuerySize *int `json:"track_activity_query_size,omitzero"`
+ TrackCommitTimestamp *string `json:"track_commit_timestamp,omitzero"`
+ TrackFunctions *string `json:"track_functions,omitzero"`
+ TrackIOTiming *string `json:"track_io_timing,omitzero"`
+ WALSenderTimeout *int `json:"wal_sender_timeout,omitzero"`
+ WALWriterDelay *int `json:"wal_writer_delay,omitzero"`
}
type PostgresDatabaseEngineConfigPGLookout struct {
- MaxFailoverReplicationTimeLag *int64 `json:"max_failover_replication_time_lag,omitempty"`
+ MaxFailoverReplicationTimeLag *int64 `json:"max_failover_replication_time_lag,omitzero"`
}
type PostgresDatabaseConfigInfo struct {
@@ -594,25 +594,25 @@ type PostgresCreateOptions struct {
Region string `json:"region"`
Type string `json:"type"`
Engine string `json:"engine"`
- AllowList []string `json:"allow_list,omitempty"`
- ClusterSize int `json:"cluster_size,omitempty"`
+ AllowList []string `json:"allow_list,omitzero"`
+ ClusterSize int `json:"cluster_size,omitzero"`
- Fork *DatabaseFork `json:"fork,omitempty"`
+ Fork *DatabaseFork `json:"fork,omitzero"`
- EngineConfig *PostgresDatabaseEngineConfig `json:"engine_config,omitempty"`
- PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitempty"`
+ EngineConfig *PostgresDatabaseEngineConfig `json:"engine_config,omitzero"`
+ PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitzero"`
}
// PostgresUpdateOptions fields are used when altering the existing Postgres Database
type PostgresUpdateOptions struct {
- Label string `json:"label,omitempty"`
- AllowList *[]string `json:"allow_list,omitempty"`
- Updates *DatabaseMaintenanceWindow `json:"updates,omitempty"`
- Type string `json:"type,omitempty"`
- ClusterSize int `json:"cluster_size,omitempty"`
- Version string `json:"version,omitempty"`
- EngineConfig *PostgresDatabaseEngineConfig `json:"engine_config,omitempty"`
- PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitempty"`
+ Label string `json:"label,omitzero"`
+ AllowList []string `json:"allow_list,omitzero"`
+ Updates *DatabaseMaintenanceWindow `json:"updates,omitzero"`
+ Type string `json:"type,omitzero"`
+ ClusterSize int `json:"cluster_size,omitzero"`
+ Version string `json:"version,omitzero"`
+ EngineConfig *PostgresDatabaseEngineConfig `json:"engine_config,omitzero"`
+ PrivateNetwork *DatabasePrivateNetwork `json:"private_network,omitzero"`
}
// PostgresDatabaseSSL is the SSL Certificate to access the Linode Managed Postgres Database
diff --git a/prefixlists.go b/prefixlists.go
index 37aede165..2b661aa47 100644
--- a/prefixlists.go
+++ b/prefixlists.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// PrefixList represents a network prefix list returned by the API.
diff --git a/profile.go b/profile.go
index c290d62b5..68e6bb0dd 100644
--- a/profile.go
+++ b/profile.go
@@ -38,19 +38,19 @@ type Profile struct {
Referrals ProfileReferrals `json:"referrals"`
AuthorizedKeys []string `json:"authorized_keys"`
AuthenticationType string `json:"authentication_type"`
- VerifiedPhoneNumber string `json:"verified_phone_number,omitempty"`
+ VerifiedPhoneNumber string `json:"verified_phone_number,omitzero"`
}
// ProfileUpdateOptions fields are those accepted by UpdateProfile
type ProfileUpdateOptions struct {
- Email string `json:"email,omitempty"`
- Timezone string `json:"timezone,omitempty"`
- EmailNotifications *bool `json:"email_notifications,omitempty"`
- IPWhitelistEnabled *bool `json:"ip_whitelist_enabled,omitempty"`
- LishAuthMethod LishAuthMethod `json:"lish_auth_method,omitempty"`
- AuthorizedKeys *[]string `json:"authorized_keys,omitempty"`
- TwoFactorAuth *bool `json:"two_factor_auth,omitempty"`
- Restricted *bool `json:"restricted,omitempty"`
+ Email string `json:"email,omitzero"`
+ Timezone string `json:"timezone,omitzero"`
+ EmailNotifications *bool `json:"email_notifications,omitzero"`
+ IPWhitelistEnabled *bool `json:"ip_whitelist_enabled,omitzero"`
+ LishAuthMethod LishAuthMethod `json:"lish_auth_method,omitzero"`
+ AuthorizedKeys []string `json:"authorized_keys,omitzero"`
+ TwoFactorAuth *bool `json:"two_factor_auth,omitzero"`
+ Restricted *bool `json:"restricted,omitzero"`
}
// GetUpdateOptions converts a Profile to ProfileUpdateOptions for use in UpdateProfile
@@ -62,7 +62,7 @@ func (i Profile) GetUpdateOptions() (o ProfileUpdateOptions) {
o.LishAuthMethod = i.LishAuthMethod
authorizedKeys := make([]string, len(i.AuthorizedKeys))
copy(authorizedKeys, i.AuthorizedKeys)
- o.AuthorizedKeys = &authorizedKeys
+ o.AuthorizedKeys = authorizedKeys
o.TwoFactorAuth = copyBool(&i.TwoFactorAuth)
o.Restricted = copyBool(&i.Restricted)
diff --git a/profile_apps.go b/profile_apps.go
index c7c4d2f79..2330435c5 100644
--- a/profile_apps.go
+++ b/profile_apps.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// ProfileApp represents a ProfileApp object
diff --git a/profile_devices.go b/profile_devices.go
index 391c3b505..15b3be3b3 100644
--- a/profile_devices.go
+++ b/profile_devices.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// ProfileDevice represents a ProfileDevice object
diff --git a/profile_logins.go b/profile_logins.go
index 96740a398..064b398ac 100644
--- a/profile_logins.go
+++ b/profile_logins.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// ProfileLogin represents a Profile object
diff --git a/profile_sshkeys.go b/profile_sshkeys.go
index a18566fdb..9715d4e06 100644
--- a/profile_sshkeys.go
+++ b/profile_sshkeys.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// SSHKey represents a SSHKey object
diff --git a/profile_tfa.go b/profile_tfa.go
index 0ece0e916..7ebff8351 100644
--- a/profile_tfa.go
+++ b/profile_tfa.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// TwoFactorSecret contains fields returned by CreateTwoFactorSecret
diff --git a/profile_tokens.go b/profile_tokens.go
index 0622ec1d3..6bfa14007 100644
--- a/profile_tokens.go
+++ b/profile_tokens.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// Token represents a Token object
diff --git a/regions.go b/regions.go
index 3c56cdee4..c4a76cb35 100644
--- a/regions.go
+++ b/regions.go
@@ -5,64 +5,61 @@ import (
"time"
)
+// RegionCapability constants start with Capability and include all known Linode region capabilities.
+type RegionCapability string
+
// This is an enumeration of Capabilities Linode offers that can be referenced
// through the user-facing parts of the application.
-// Defined as strings rather than a custom type to avoid breaking change.
-// Can be changed in the potential v2 version.
const (
- CapabilityACLB string = "Akamai Cloud Load Balancer"
- CapabilityACLP string = "Akamai Cloud Pulse"
- CapabilityACLPStreams string = "Akamai Cloud Pulse Streams"
- CapabilityAkamaiRAMProtection string = "Akamai RAM Protection"
- CapabilityBackups string = "Backups"
- CapabilityBlockStorage string = "Block Storage"
- CapabilityBlockStorageEncryption string = "Block Storage Encryption"
- CapabilityBlockStorageMigrations string = "Block Storage Migrations"
- CapabilityBlockStoragePerformanceB1 string = "Block Storage Performance B1"
- CapabilityBlockStoragePerformanceB1Default string = "Block Storage Performance B1 Default"
- CapabilityCloudFirewall string = "Cloud Firewall"
- CapabilityCloudFirewallRuleSet string = "Cloud Firewall Rule Set"
- CapabilityCloudNAT string = "Cloud NAT"
- CapabilityDBAAS string = "Managed Databases"
- CapabilityDBAASBeta string = "Managed Databases Beta"
- CapabilityDiskEncryption string = "Disk Encryption"
- CapabilityDistributedPlans string = "Distributed Plans"
- CapabilityEdgePlans string = "Edge Plans"
- CapabilityGPU string = "GPU Linodes"
- CapabilityGPUDirectRDMA string = "GPUDirect RDMA"
- CapabilityKubernetesEnterprise string = "Kubernetes Enterprise"
- CapabilityKubernetesEnterpriseBYOVPC string = "Kubernetes Enterprise BYO VPC"
- CapabilityKubernetesEnterpriseDualStack string = "Kubernetes Enterprise Dual Stack"
- CapabilityLADiskEncryption string = "LA Disk Encryption"
- CapabilityLinodeInterfaces string = "Linode Interfaces"
- CapabilityLinodes string = "Linodes"
- CapabilityLKE string = "Kubernetes"
- CapabilityLKEControlPlaneACL string = "LKE Network Access Control List (IP ACL)"
- CapabilityLkeHaControlPlanes string = "LKE HA Control Planes"
- CapabilityMachineImages string = "Machine Images"
- CapabilityMaintenancePolicy string = "Maintenance Policy"
- CapabilityMetadata string = "Metadata"
- CapabilityNLB string = "Network LoadBalancer"
- CapabilityNodeBalancers string = "NodeBalancers"
- CapabilityObjectStorage string = "Object Storage"
- CapabilityObjectStorageAccessKeyRegions string = "Object Storage Access Key Regions"
- CapabilityObjectStorageEndpointTypes string = "Object Storage Endpoint Types"
- CapabilityPlacementGroup string = "Placement Group"
- CapabilityPremiumPlans string = "Premium Plans"
- CapabilityQuadraT1UVPU string = "NETINT Quadra T1U"
- CapabilitySMTPEnabled string = "SMTP Enabled"
- CapabilityStackScripts string = "StackScripts"
- CapabilitySupportTicketSeverity string = "Support Ticket Severity"
- CapabilityVlans string = "Vlans"
- CapabilityVPCs string = "VPCs"
- CapabilityVPCDualStack string = "VPC Dual Stack"
- CapabilityVPCIPv6LargePrefixes string = "VPC IPv6 Large Prefixes"
- CapabilityVPCIPv6Stack string = "VPC IPv6 Stack"
- CapabilityVPCsExtra string = "VPCs Extra"
-
- // Deprecated: CapabilityObjectStorageRegions constant has been
- // renamed to `CapabilityObjectStorageAccessKeyRegions`.
- CapabilityObjectStorageRegions string = CapabilityObjectStorageAccessKeyRegions
+ CapabilityACLP RegionCapability = "Akamai Cloud Pulse"
+ CapabilityACLPStreams RegionCapability = "Akamai Cloud Pulse Streams"
+ CapabilityAkamaiRAMProtection RegionCapability = "Akamai RAM Protection"
+ CapabilityACLB RegionCapability = "Akamai Cloud Load Balancer"
+ CapabilityBackups RegionCapability = "Backups"
+ CapabilityBlockStorage RegionCapability = "Block Storage"
+ CapabilityBlockStorageEncryption RegionCapability = "Block Storage Encryption"
+ CapabilityBlockStorageMigrations RegionCapability = "Block Storage Migrations"
+ CapabilityBlockStoragePerformanceB1 RegionCapability = "Block Storage Performance B1"
+ CapabilityBlockStoragePerformanceB1Default RegionCapability = "Block Storage Performance B1 Default"
+ CapabilityCloudFirewall RegionCapability = "Cloud Firewall"
+ CapabilityCloudFirewallRuleSet RegionCapability = "Cloud Firewall Rule Set"
+ CapabilityCloudNAT RegionCapability = "Cloud NAT"
+ CapabilityDBAAS RegionCapability = "Managed Databases"
+ CapabilityDBAASBeta RegionCapability = "Managed Databases Beta"
+ CapabilityDiskEncryption RegionCapability = "Disk Encryption"
+ CapabilityDistributedPlans RegionCapability = "Distributed Plans"
+ CapabilityEdgePlans RegionCapability = "Edge Plans"
+ CapabilityGPU RegionCapability = "GPU Linodes"
+ CapabilityGPUDirectRDMA RegionCapability = "GPUDirect RDMA"
+ CapabilityKubernetesEnterprise RegionCapability = "Kubernetes Enterprise"
+ CapabilityKubernetesEnterpriseBYOVPC RegionCapability = "Kubernetes Enterprise BYO VPC"
+ CapabilityKubernetesEnterpriseDualStack RegionCapability = "Kubernetes Enterprise Dual Stack"
+ CapabilityLADiskEncryption RegionCapability = "LA Disk Encryption"
+ CapabilityLinodeInterfaces RegionCapability = "Linode Interfaces"
+ CapabilityLinodes RegionCapability = "Linodes"
+ CapabilityLKE RegionCapability = "Kubernetes"
+ CapabilityLKEControlPlaneACL RegionCapability = "LKE Network Access Control List (IP ACL)"
+ CapabilityLkeHaControlPlanes RegionCapability = "LKE HA Control Planes"
+ CapabilityMachineImages RegionCapability = "Machine Images"
+ CapabilityMaintenancePolicy RegionCapability = "Maintenance Policy"
+ CapabilityMetadata RegionCapability = "Metadata"
+ CapabilityNLB RegionCapability = "Network LoadBalancer"
+ CapabilityNodeBalancers RegionCapability = "NodeBalancers"
+ CapabilityObjectStorage RegionCapability = "Object Storage"
+ CapabilityObjectStorageAccessKeyRegions RegionCapability = "Object Storage Access Key Regions"
+ CapabilityObjectStorageEndpointTypes RegionCapability = "Object Storage Endpoint Types"
+ CapabilityPlacementGroup RegionCapability = "Placement Group"
+ CapabilityPremiumPlans RegionCapability = "Premium Plans"
+ CapabilityQuadraT1UVPU RegionCapability = "NETINT Quadra T1U"
+ CapabilitySMTPEnabled RegionCapability = "SMTP Enabled"
+ CapabilityStackScripts RegionCapability = "StackScripts"
+ CapabilitySupportTicketSeverity RegionCapability = "Support Ticket Severity"
+ CapabilityVlans RegionCapability = "Vlans"
+ CapabilityVPCs RegionCapability = "VPCs"
+ CapabilityVPCDualStack RegionCapability = "VPC Dual Stack"
+ CapabilityVPCIPv6LargePrefixes RegionCapability = "VPC IPv6 Large Prefixes"
+ CapabilityVPCIPv6Stack RegionCapability = "VPC IPv6 Stack"
+ CapabilityVPCsExtra RegionCapability = "VPCs Extra"
)
// Region-related endpoints have a custom expiry time as the
diff --git a/request_helpers.go b/request_helpers.go
index 470bc1845..ca2acd60a 100644
--- a/request_helpers.go
+++ b/request_helpers.go
@@ -1,19 +1,21 @@
package linodego
import (
+ "bytes"
"context"
"encoding/json"
"fmt"
+ "net/http"
"net/url"
"reflect"
)
-// paginatedResponse represents a single response from a paginated
+// PaginatedResponse represents a single response from a paginated
// endpoint.
-type paginatedResponse[T any] struct {
- Page int `json:"page" url:"page,omitempty"`
- Pages int `json:"pages" url:"pages,omitempty"`
- Results int `json:"results" url:"results,omitempty"`
+type PaginatedResponse[T any] struct {
+ Page int `json:"page"`
+ Pages int `json:"pages"`
+ Results int `json:"results"`
Data []T `json:"data"`
}
@@ -58,58 +60,35 @@ func handlePaginatedResults[T any, O any](
// Makes a request to a particular page and appends the response to the result
handlePage := func(page int) error {
- var resultType paginatedResponse[T]
+ var resultType PaginatedResponse[T]
- // Override the page to be applied in applyListOptionsToRequest(...)
+ // Override the page to be applied in createListOptionsToRequestMutator(...)
opts.Page = page
- // This request object cannot be reused for each page request
- // because it can lead to possible data corruption
- req := client.R(ctx).SetResult(&resultType)
-
- // Apply all user-provided list options to the request
- if err := applyListOptionsToRequest(opts, req); err != nil {
- return err
+ params := requestParams{
+ Response: &resultType,
}
- // Set request body if provided
if reqBody != "" {
- req.SetBody(reqBody)
+ params.Body = bytes.NewReader([]byte(reqBody))
}
- var response *paginatedResponse[T]
- // Execute the appropriate HTTP method
- switch method {
- case "GET":
- res, err := coupleAPIErrors(req.Get(endpoint))
- if err != nil {
- return err
- }
-
- response = res.Result().(*paginatedResponse[T])
- case "PUT":
- res, err := coupleAPIErrors(req.Put(endpoint))
- if err != nil {
- return err
- }
-
- response = res.Result().(*paginatedResponse[T])
- case "POST":
- res, err := coupleAPIErrors(req.Post(endpoint))
- if err != nil {
- return err
- }
-
- response = res.Result().(*paginatedResponse[T])
- default:
- return fmt.Errorf("unsupported HTTP method: %s", method)
+ // Create a mutator to apply all user-provided list options to the request
+ mutator := createListOptionsToRequestMutator(opts)
+
+ // Make the request using doRequest
+ err := client.doRequest(ctx, method, endpoint, params, &mutator)
+ if err != nil {
+ return err
}
// Update pagination metadata
opts.Page = page
- opts.Pages = response.Pages
- opts.Results = response.Results
- result = append(result, response.Data...)
+ opts.Pages = resultType.Pages
+ opts.Results = resultType.Results
+
+ // Append the data to the result slice
+ result = append(result, resultType.Data...)
return nil
}
@@ -127,13 +106,12 @@ func handlePaginatedResults[T any, O any](
return nil, err
}
- // If the user has explicitly specified a page, we don't
- // need to get any other pages.
+ // If a specific page is defined, return the result
if pageDefined {
return result, nil
}
- // Get the rest of the pages
+ // Get the remaining pages
for page := 2; page <= opts.Pages; page++ {
if err := handlePage(page); err != nil {
return nil, err
@@ -187,14 +165,16 @@ func doGETRequest[T any](
) (*T, error) {
var resultType T
- req := client.R(ctx).SetResult(&resultType)
+ params := requestParams{
+ Response: &resultType,
+ }
- r, err := coupleAPIErrors(req.Get(endpoint))
+ err := client.doRequest(ctx, http.MethodGet, endpoint, params, nil)
if err != nil {
return nil, err
}
- return r.Result().(*T), nil
+ return &resultType, nil
}
// doPOSTRequest runs a PUT request using the given client, API endpoint,
@@ -208,12 +188,13 @@ func doPOSTRequest[T, O any](
var resultType T
numOpts := len(options)
-
if numOpts > 1 {
- return nil, fmt.Errorf("invalid number of options: %d", len(options))
+ return nil, fmt.Errorf("invalid number of options: %d", numOpts)
}
- req := client.R(ctx).SetResult(&resultType)
+ params := requestParams{
+ Response: &resultType,
+ }
if numOpts > 0 && !isNil(options[0]) {
body, err := json.Marshal(options[0])
@@ -221,15 +202,25 @@ func doPOSTRequest[T, O any](
return nil, err
}
- req.SetBody(string(body))
+ params.Body = bytes.NewReader(body)
}
- r, err := coupleAPIErrors(req.Post(endpoint))
+ err := client.doRequest(ctx, http.MethodPost, endpoint, params, nil)
if err != nil {
return nil, err
}
- return r.Result().(*T), nil
+ return &resultType, nil
+}
+
+// doPOSTRequestNoRequestBody runs a POST request using the given client and API endpoint.
+// It does not expect a request body but does expect a response from the endpoint.
+func doPOSTRequestNoRequestBody[T any](
+ ctx context.Context,
+ client *Client,
+ endpoint string,
+) (*T, error) {
+ return doPOSTRequest[T, any](ctx, client, endpoint)
}
// doPOSTRequestNoResponseBody runs a POST request using the given client, API endpoint,
@@ -241,6 +232,7 @@ func doPOSTRequestNoResponseBody[T any](
options ...T,
) error {
_, err := doPOSTRequest[any, T](ctx, client, endpoint, options...)
+
return err
}
@@ -265,12 +257,13 @@ func doPUTRequest[T, O any](
var resultType T
numOpts := len(options)
-
if numOpts > 1 {
- return nil, fmt.Errorf("invalid number of options: %d", len(options))
+ return nil, fmt.Errorf("invalid number of options: %d", numOpts)
}
- req := client.R(ctx).SetResult(&resultType)
+ params := requestParams{
+ Response: &resultType,
+ }
if numOpts > 0 && !isNil(options[0]) {
body, err := json.Marshal(options[0])
@@ -278,15 +271,28 @@ func doPUTRequest[T, O any](
return nil, err
}
- req.SetBody(string(body))
+ params.Body = bytes.NewReader(body)
}
- r, err := coupleAPIErrors(req.Put(endpoint))
+ err := client.doRequest(ctx, http.MethodPut, endpoint, params, nil)
if err != nil {
return nil, err
}
- return r.Result().(*T), nil
+ return &resultType, nil
+}
+
+// doPUTRequestNoResponseBody runs a PUT request using the given client, API endpoint,
+// and options/body. It expects only empty response from the endpoint.
+func doPUTRequestNoResponseBody[T any](
+ ctx context.Context,
+ client *Client,
+ endpoint string,
+ options ...T,
+) error {
+ _, err := doPUTRequest[any, T](ctx, client, endpoint, options...)
+
+ return err
}
// doDELETERequest runs a DELETE request using the given client
@@ -296,8 +302,8 @@ func doDELETERequest(
client *Client,
endpoint string,
) error {
- req := client.R(ctx)
- _, err := coupleAPIErrors(req.Delete(endpoint))
+ params := requestParams{}
+ err := client.doRequest(ctx, http.MethodDelete, endpoint, params, nil)
return err
}
diff --git a/request_helpers_test.go b/request_helpers_test.go
index ce4bf80b5..bda16125b 100644
--- a/request_helpers_test.go
+++ b/request_helpers_test.go
@@ -11,7 +11,7 @@ import (
"github.com/google/go-cmp/cmp"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego/internal/testutil"
+ "github.com/linode/linodego/v2/internal/testutil"
"github.com/stretchr/testify/require"
)
@@ -37,7 +37,7 @@ var testResponse = testResultType{
}
func TestRequestHelpers_get(t *testing.T) {
- client := testutil.CreateMockClient(t, NewClient)
+ client := testutil.CreateMockClientWithError(t, NewClient)
httpmock.RegisterRegexpResponder("GET", testutil.MockRequestURL("/foo/bar"),
httpmock.NewJsonResponderOrPanic(200, &testResponse))
@@ -57,7 +57,7 @@ func TestRequestHelpers_get(t *testing.T) {
}
func TestRequestHelpers_post(t *testing.T) {
- client := testutil.CreateMockClient(t, NewClient)
+ client := testutil.CreateMockClientWithError(t, NewClient)
httpmock.RegisterRegexpResponder("POST", testutil.MockRequestURL("/foo/bar"),
testutil.MockRequestBodyValidate(t, testResponse, testResponse))
@@ -78,13 +78,10 @@ func TestRequestHelpers_post(t *testing.T) {
}
func TestRequestHelpers_postNoOptions(t *testing.T) {
- client := testutil.CreateMockClient(t, NewClient)
+ client := testutil.CreateMockClientWithError(t, NewClient)
- httpmock.RegisterRegexpResponder(
- "POST",
- testutil.MockRequestURL("/foo/bar"),
- testutil.MockRequestBodyValidateNoBody(t, testResponse),
- )
+ httpmock.RegisterRegexpResponder("POST", testutil.MockRequestURL("/foo/bar"),
+ testutil.MockRequestBodyValidateNoBody(t, testResponse))
result, err := doPOSTRequest[testResultType, any](
context.Background(),
@@ -101,7 +98,7 @@ func TestRequestHelpers_postNoOptions(t *testing.T) {
}
func TestRequestHelpers_put(t *testing.T) {
- client := testutil.CreateMockClient(t, NewClient)
+ client := testutil.CreateMockClientWithError(t, NewClient)
httpmock.RegisterRegexpResponder("PUT", testutil.MockRequestURL("/foo/bar"),
testutil.MockRequestBodyValidate(t, testResponse, testResponse))
@@ -122,13 +119,10 @@ func TestRequestHelpers_put(t *testing.T) {
}
func TestRequestHelpers_putNoOptions(t *testing.T) {
- client := testutil.CreateMockClient(t, NewClient)
+ client := testutil.CreateMockClientWithError(t, NewClient)
- httpmock.RegisterRegexpResponder(
- "PUT",
- testutil.MockRequestURL("/foo/bar"),
- testutil.MockRequestBodyValidateNoBody(t, testResponse),
- )
+ httpmock.RegisterRegexpResponder("PUT", testutil.MockRequestURL("/foo/bar"),
+ testutil.MockRequestBodyValidateNoBody(t, testResponse))
result, err := doPUTRequest[testResultType, any](
context.Background(),
@@ -145,13 +139,10 @@ func TestRequestHelpers_putNoOptions(t *testing.T) {
}
func TestRequestHelpers_delete(t *testing.T) {
- client := testutil.CreateMockClient(t, NewClient)
+ client := testutil.CreateMockClientWithError(t, NewClient)
- httpmock.RegisterRegexpResponder(
- "DELETE",
- testutil.MockRequestURL("/foo/bar/foo%20bar"),
- httpmock.NewStringResponder(200, "{}"),
- )
+ httpmock.RegisterRegexpResponder("DELETE", testutil.MockRequestURL("/foo/bar/foo%20bar"),
+ httpmock.NewStringResponder(200, "{}"))
if err := doDELETERequest(
context.Background(),
@@ -165,18 +156,12 @@ func TestRequestHelpers_delete(t *testing.T) {
func TestRequestHelpers_paginateAll(t *testing.T) {
const totalResults = 4123
- client := testutil.CreateMockClient(t, NewClient)
+ client := testutil.CreateMockClientWithError(t, NewClient)
numRequests := 0
- httpmock.RegisterRegexpResponder(
- "GET",
- testutil.MockRequestURL("/foo/bar"),
- mockPaginatedResponse(
- buildPaginatedEntries(totalResults),
- &numRequests,
- ),
- )
+ httpmock.RegisterRegexpResponder("GET", testutil.MockRequestURL("/foo/bar"),
+ mockPaginatedResponse(buildPaginatedEntries(totalResults), &numRequests))
response, err := getPaginatedResults[testResultType](
context.Background(),
@@ -201,18 +186,12 @@ func TestRequestHelpers_paginateAll(t *testing.T) {
}
func TestRequestHelpers_paginateSingle(t *testing.T) {
- client := testutil.CreateMockClient(t, NewClient)
+ client := testutil.CreateMockClientWithError(t, NewClient)
numRequests := 0
- httpmock.RegisterRegexpResponder(
- "GET",
- testutil.MockRequestURL("/foo/bar"),
- mockPaginatedResponse(
- buildPaginatedEntries(12),
- &numRequests,
- ),
- )
+ httpmock.RegisterRegexpResponder("GET", testutil.MockRequestURL("/foo/bar"),
+ mockPaginatedResponse(buildPaginatedEntries(12), &numRequests))
response, err := getPaginatedResults[testResultType](
context.Background(),
@@ -289,7 +268,7 @@ func mockPaginatedResponse(
return httpmock.NewJsonResponse(
200,
- paginatedResponse[testResultType]{
+ PaginatedResponse[testResultType]{
Page: page,
Pages: int(math.Ceil(float64(len(entries)) / float64(pageSize))),
Results: pageSize,
diff --git a/request_log_template.tmpl b/request_log_template.tmpl
new file mode 100644
index 000000000..250547bd8
--- /dev/null
+++ b/request_log_template.tmpl
@@ -0,0 +1,8 @@
+
+============================================================================================
+~~~ REQUEST ~~~
+{{.Request}}
+HOST: {{.Host}}
+HEADERS: {{.Headers}}
+BODY: {{.Body}}
+--------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/response_log_template.tmpl b/response_log_template.tmpl
new file mode 100644
index 000000000..7bd5f38d8
--- /dev/null
+++ b/response_log_template.tmpl
@@ -0,0 +1,10 @@
+
+============================================================================================
+~~~ RESPONSE ~~~
+STATUS: {{.Status}}
+PROTO: {{.Proto}}
+RECEIVED AT: {{.ReceivedAt}}
+TIME DURATION: {{.TimeDuration}}
+HEADERS: {{.Headers}}
+BODY: {{.Body}}
+--------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/retries.go b/retries.go
index 88f01e3c8..24cbf2454 100644
--- a/retries.go
+++ b/retries.go
@@ -1,74 +1,91 @@
package linodego
import (
+ "bytes"
+ "encoding/json"
"errors"
+ "io"
"log"
"net/http"
"strconv"
"time"
- "github.com/go-resty/resty/v2"
"golang.org/x/net/http2"
)
const (
- retryAfterHeaderName = "Retry-After"
- maintenanceModeHeaderName = "X-Maintenance-Mode"
-
- defaultRetryCount = 1000
+ RetryAfterHeaderName = "Retry-After"
+ MaintenanceModeHeaderName = "X-Maintenance-Mode"
+ DefaultRetryCount = 1000
)
-// RetryConditional func(r *resty.Response) (shouldRetry bool)
-type RetryConditional resty.RetryConditionFunc
+// RetryConditional is a type alias for a function that determines if a request should be retried based on the response and error.
+type RetryConditional func(*http.Response, error) bool
-// RetryAfter func(c *resty.Client, r *resty.Response) (time.Duration, error)
-type RetryAfter resty.RetryAfterFunc
+// RetryAfter is a type alias for a function that determines the duration to wait before retrying based on the response.
+type RetryAfter func(*http.Response) (time.Duration, error)
-// Configures resty to
-// lock until enough time has passed to retry the request as determined by the Retry-After response header.
-// If the Retry-After header is not set, we fall back to value of SetPollDelay.
-func configureRetries(c *Client) {
- c.resty.
- SetRetryCount(defaultRetryCount).
- AddRetryCondition(checkRetryConditionals(c)).
- SetRetryAfter(respectRetryAfter)
+// ConfigureRetries configures http.Client to lock until enough time has passed to retry the request as determined by the Retry-After response header.
+// If the Retry-After header is not set, we fall back to the value of SetPollDelay.
+func ConfigureRetries(c *Client) {
+ c.SetRetryAfter(RespectRetryAfter)
+ c.SetRetryCount(DefaultRetryCount)
}
-func checkRetryConditionals(c *Client) func(*resty.Response, error) bool {
- return func(r *resty.Response, err error) bool {
- for _, retryConditional := range c.retryConditionals {
- retry := retryConditional(r, err)
- if retry {
- log.Printf("[INFO] Received error %s - Retrying", r.Error())
- return true
- }
- }
+func RespectRetryAfter(resp *http.Response) (time.Duration, error) {
+ if resp == nil {
+ return 0, nil
+ }
- return false
+ retryAfterStr := resp.Header.Get(RetryAfterHeaderName)
+ if retryAfterStr == "" {
+ return 0, nil
+ }
+
+ retryAfter, err := strconv.Atoi(retryAfterStr)
+ if err != nil {
+ return 0, err
}
+
+ duration := time.Duration(retryAfter) * time.Second
+ log.Printf("[INFO] Respecting Retry-After Header of %d (%s)", retryAfter, duration)
+
+ return duration, nil
}
-// SetLinodeBusyRetry configures resty to retry specifically on "Linode busy." errors
-// The retry wait time is configured in SetPollDelay
-func linodeBusyRetryCondition(r *resty.Response, _ error) bool {
- apiError, ok := r.Error().(*APIError)
+// Retry conditions
+
+func LinodeBusyRetryCondition(resp *http.Response, _ error) bool {
+ if resp == nil {
+ return false
+ }
+
+ apiError, ok := getAPIError(resp)
linodeBusy := ok && apiError.Error() == "Linode busy."
- retry := r.StatusCode() == http.StatusBadRequest && linodeBusy
+ retry := resp.StatusCode == http.StatusBadRequest && linodeBusy
return retry
}
-func tooManyRequestsRetryCondition(r *resty.Response, _ error) bool {
- return r.StatusCode() == http.StatusTooManyRequests
+func TooManyRequestsRetryCondition(resp *http.Response, _ error) bool {
+ if resp == nil {
+ return false
+ }
+
+ return resp.StatusCode == http.StatusTooManyRequests
}
-func serviceUnavailableRetryCondition(r *resty.Response, _ error) bool {
- serviceUnavailable := r.StatusCode() == http.StatusServiceUnavailable
+func ServiceUnavailableRetryCondition(resp *http.Response, _ error) bool {
+ if resp == nil {
+ return false
+ }
+
+ serviceUnavailable := resp.StatusCode == http.StatusServiceUnavailable
// During maintenance events, the API will return a 503 and add
// an `X-MAINTENANCE-MODE` header. Don't retry during maintenance
// events, only for legitimate 503s.
- if serviceUnavailable && r.Header().Get(maintenanceModeHeaderName) != "" {
+ if serviceUnavailable && resp.Header.Get(MaintenanceModeHeaderName) != "" {
log.Printf("[INFO] Linode API is under maintenance, request will not be retried - please see status.linode.com for more information")
return false
}
@@ -76,33 +93,47 @@ func serviceUnavailableRetryCondition(r *resty.Response, _ error) bool {
return serviceUnavailable
}
-func requestTimeoutRetryCondition(r *resty.Response, _ error) bool {
- return r.StatusCode() == http.StatusRequestTimeout
+func RequestTimeoutRetryCondition(resp *http.Response, _ error) bool {
+ if resp == nil {
+ return false
+ }
+
+ return resp.StatusCode == http.StatusRequestTimeout
}
-func requestGOAWAYRetryCondition(_ *resty.Response, e error) bool {
- return errors.As(e, &http2.GoAwayError{})
+func RequestGOAWAYRetryCondition(_ *http.Response, err error) bool {
+ return errors.As(err, &http2.GoAwayError{})
}
-func requestNGINXRetryCondition(r *resty.Response, _ error) bool {
- return r.StatusCode() == http.StatusBadRequest &&
- r.Header().Get("Server") == "nginx" &&
- r.Header().Get("Content-Type") == "text/html" //nolint:goconst
+func RequestNGINXRetryCondition(resp *http.Response, _ error) bool {
+ if resp == nil {
+ return false
+ }
+
+ return resp.StatusCode == http.StatusBadRequest &&
+ resp.Header.Get("Server") == "nginx" &&
+ resp.Header.Get("Content-Type") == "text/html"
}
-func respectRetryAfter(client *resty.Client, resp *resty.Response) (time.Duration, error) {
- retryAfterStr := resp.Header().Get(retryAfterHeaderName)
- if retryAfterStr == "" {
- return 0, nil
+// Helper function to extract APIError from response
+func getAPIError(resp *http.Response) (*APIError, bool) {
+ if resp.Body == nil {
+ return nil, false
}
- retryAfter, err := strconv.Atoi(retryAfterStr)
+ body, err := io.ReadAll(resp.Body)
if err != nil {
- return 0, err
+ return nil, false
}
- duration := time.Duration(retryAfter) * time.Second
- log.Printf("[INFO] Respecting Retry-After Header of %d (%s) (max %s)", retryAfter, duration, client.RetryMaxWaitTime)
+ resp.Body = io.NopCloser(bytes.NewReader(body))
- return duration, nil
+ var apiError APIError
+
+ err = json.Unmarshal(body, &apiError)
+ if err != nil {
+ return nil, false
+ }
+
+ return &apiError, true
}
diff --git a/retries_http.go b/retries_http.go
deleted file mode 100644
index b832c62f9..000000000
--- a/retries_http.go
+++ /dev/null
@@ -1,132 +0,0 @@
-package linodego
-
-import (
- "encoding/json"
- "errors"
- "log"
- "net/http"
- "strconv"
- "time"
-
- "golang.org/x/net/http2"
-)
-
-const (
- // nolint:unused
- httpRetryAfterHeaderName = "Retry-After"
- // nolint:unused
- httpMaintenanceModeHeaderName = "X-Maintenance-Mode"
-
- // nolint:unused
- httpDefaultRetryCount = 1000
-)
-
-// RetryConditional is a type alias for a function that determines if a request should be retried based on the response and error.
-// nolint:unused
-type httpRetryConditional func(*http.Response, error) bool
-
-// RetryAfter is a type alias for a function that determines the duration to wait before retrying based on the response.
-// nolint:unused
-type httpRetryAfter func(*http.Response) (time.Duration, error)
-
-// Configures http.Client to lock until enough time has passed to retry the request as determined by the Retry-After response header.
-// If the Retry-After header is not set, we fall back to the value of SetPollDelay.
-// nolint:unused
-func httpConfigureRetries(c *httpClient) {
- c.retryConditionals = append(c.retryConditionals, httpcheckRetryConditionals(c))
- c.retryAfter = httpRespectRetryAfter
-}
-
-// nolint:unused
-func httpcheckRetryConditionals(c *httpClient) httpRetryConditional {
- return func(resp *http.Response, err error) bool {
- for _, retryConditional := range c.retryConditionals {
- retry := retryConditional(resp, err)
- if retry {
- log.Printf("[INFO] Received error %v - Retrying", err)
- return true
- }
- }
-
- return false
- }
-}
-
-// nolint:unused
-func httpRespectRetryAfter(resp *http.Response) (time.Duration, error) {
- retryAfterStr := resp.Header.Get(retryAfterHeaderName)
- if retryAfterStr == "" {
- return 0, nil
- }
-
- retryAfter, err := strconv.Atoi(retryAfterStr)
- if err != nil {
- return 0, err
- }
-
- duration := time.Duration(retryAfter) * time.Second
- log.Printf("[INFO] Respecting Retry-After Header of %d (%s)", retryAfter, duration)
-
- return duration, nil
-}
-
-// Retry conditions
-
-// nolint:unused
-func httpLinodeBusyRetryCondition(resp *http.Response, _ error) bool {
- apiError, ok := getAPIError(resp)
- linodeBusy := ok && apiError.Error() == "Linode busy."
- retry := resp.StatusCode == http.StatusBadRequest && linodeBusy
-
- return retry
-}
-
-// nolint:unused
-func httpTooManyRequestsRetryCondition(resp *http.Response, _ error) bool {
- return resp.StatusCode == http.StatusTooManyRequests
-}
-
-// nolint:unused
-func httpServiceUnavailableRetryCondition(resp *http.Response, _ error) bool {
- serviceUnavailable := resp.StatusCode == http.StatusServiceUnavailable
-
- // During maintenance events, the API will return a 503 and add
- // an `X-MAINTENANCE-MODE` header. Don't retry during maintenance
- // events, only for legitimate 503s.
- if serviceUnavailable && resp.Header.Get(maintenanceModeHeaderName) != "" {
- log.Printf("[INFO] Linode API is under maintenance, request will not be retried - please see status.linode.com for more information")
- return false
- }
-
- return serviceUnavailable
-}
-
-// nolint:unused
-func httpRequestTimeoutRetryCondition(resp *http.Response, _ error) bool {
- return resp.StatusCode == http.StatusRequestTimeout
-}
-
-// nolint:unused
-func httpRequestGOAWAYRetryCondition(_ *http.Response, err error) bool {
- return errors.As(err, &http2.GoAwayError{})
-}
-
-// nolint:unused
-func httpRequestNGINXRetryCondition(resp *http.Response, _ error) bool {
- return resp.StatusCode == http.StatusBadRequest &&
- resp.Header.Get("Server") == "nginx" &&
- resp.Header.Get("Content-Type") == "text/html" //nolint:goconst
-}
-
-// Helper function to extract APIError from response
-// nolint:unused
-func getAPIError(resp *http.Response) (*APIError, bool) {
- var apiError APIError
-
- err := json.NewDecoder(resp.Body).Decode(&apiError)
- if err != nil {
- return nil, false
- }
-
- return &apiError, true
-}
diff --git a/retries_http_test.go b/retries_http_test.go
deleted file mode 100644
index 35eea5fc9..000000000
--- a/retries_http_test.go
+++ /dev/null
@@ -1,81 +0,0 @@
-package linodego
-
-import (
- "bytes"
- "encoding/json"
- "io"
- "net/http"
- "testing"
- "time"
-)
-
-func TestHTTPLinodeBusyRetryCondition(t *testing.T) {
- var retry bool
-
- // Initialize response body
- rawResponse := &http.Response{
- StatusCode: http.StatusBadRequest,
- Body: io.NopCloser(bytes.NewBuffer(nil)),
- }
-
- retry = httpLinodeBusyRetryCondition(rawResponse, nil)
-
- if retry {
- t.Errorf("Should not have retried")
- }
-
- apiError := APIError{
- Errors: []APIErrorReason{
- {Reason: "Linode busy."},
- },
- }
- rawResponse.Body = createResponseBody(apiError)
-
- retry = httpLinodeBusyRetryCondition(rawResponse, nil)
-
- if !retry {
- t.Errorf("Should have retried")
- }
-}
-
-func TestHTTPServiceUnavailableRetryCondition(t *testing.T) {
- rawResponse := &http.Response{
- StatusCode: http.StatusServiceUnavailable,
- Header: http.Header{httpRetryAfterHeaderName: []string{"20"}},
- Body: io.NopCloser(bytes.NewBuffer(nil)), // Initialize response body
- }
-
- if retry := httpServiceUnavailableRetryCondition(rawResponse, nil); !retry {
- t.Error("expected request to be retried")
- }
-
- if retryAfter, err := httpRespectRetryAfter(rawResponse); err != nil {
- t.Errorf("expected error to be nil but got %s", err)
- } else if retryAfter != time.Second*20 {
- t.Errorf("expected retryAfter to be 20 but got %d", retryAfter)
- }
-}
-
-func TestHTTPServiceMaintenanceModeRetryCondition(t *testing.T) {
- rawResponse := &http.Response{
- StatusCode: http.StatusServiceUnavailable,
- Header: http.Header{
- httpRetryAfterHeaderName: []string{"20"},
- httpMaintenanceModeHeaderName: []string{"Currently in maintenance mode."},
- },
- Body: io.NopCloser(bytes.NewBuffer(nil)), // Initialize response body
- }
-
- if retry := httpServiceUnavailableRetryCondition(rawResponse, nil); retry {
- t.Error("expected retry to be skipped due to maintenance mode header")
- }
-}
-
-// Helper function to create a response body from an object
-func createResponseBody(obj interface{}) io.ReadCloser {
- body, err := json.Marshal(obj)
- if err != nil {
- panic(err)
- }
- return io.NopCloser(bytes.NewBuffer(body))
-}
diff --git a/retries_test.go b/retries_test.go
index 4f0029388..45b5fc4d3 100644
--- a/retries_test.go
+++ b/retries_test.go
@@ -1,24 +1,24 @@
package linodego
import (
+ "bytes"
+ "encoding/json"
+ "io"
"net/http"
"testing"
"time"
-
- "github.com/go-resty/resty/v2"
)
func TestLinodeBusyRetryCondition(t *testing.T) {
var retry bool
- request := resty.Request{}
- rawResponse := http.Response{StatusCode: http.StatusBadRequest}
- response := resty.Response{
- Request: &request,
- RawResponse: &rawResponse,
+ // Initialize response body
+ rawResponse := &http.Response{
+ StatusCode: http.StatusBadRequest,
+ Body: io.NopCloser(bytes.NewBuffer(nil)),
}
- retry = linodeBusyRetryCondition(&response, nil)
+ retry = LinodeBusyRetryCondition(rawResponse, nil)
if retry {
t.Errorf("Should not have retried")
@@ -29,48 +29,53 @@ func TestLinodeBusyRetryCondition(t *testing.T) {
{Reason: "Linode busy."},
},
}
- request.SetError(&apiError)
+ rawResponse.Body = createResponseBody(apiError)
- retry = linodeBusyRetryCondition(&response, nil)
+ retry = LinodeBusyRetryCondition(rawResponse, nil)
if !retry {
t.Errorf("Should have retried")
}
}
-func TestLinodeServiceUnavailableRetryCondition(t *testing.T) {
- request := resty.Request{}
- rawResponse := http.Response{StatusCode: http.StatusServiceUnavailable, Header: http.Header{
- retryAfterHeaderName: []string{"20"},
- }}
- response := resty.Response{
- Request: &request,
- RawResponse: &rawResponse,
+func TestServiceUnavailableRetryCondition(t *testing.T) {
+ rawResponse := &http.Response{
+ StatusCode: http.StatusServiceUnavailable,
+ Header: http.Header{RetryAfterHeaderName: []string{"20"}},
+ Body: io.NopCloser(bytes.NewBuffer(nil)), // Initialize response body
}
- if retry := serviceUnavailableRetryCondition(&response, nil); !retry {
+ if retry := ServiceUnavailableRetryCondition(rawResponse, nil); !retry {
t.Error("expected request to be retried")
}
- if retryAfter, err := respectRetryAfter(NewClient(nil).resty, &response); err != nil {
+ if retryAfter, err := RespectRetryAfter(rawResponse); err != nil {
t.Errorf("expected error to be nil but got %s", err)
} else if retryAfter != time.Second*20 {
t.Errorf("expected retryAfter to be 20 but got %d", retryAfter)
}
}
-func TestLinodeServiceMaintenanceModeRetryCondition(t *testing.T) {
- request := resty.Request{}
- rawResponse := http.Response{StatusCode: http.StatusServiceUnavailable, Header: http.Header{
- retryAfterHeaderName: []string{"20"},
- maintenanceModeHeaderName: []string{"Currently in maintenance mode."},
- }}
- response := resty.Response{
- Request: &request,
- RawResponse: &rawResponse,
+func TestServiceMaintenanceModeRetryCondition(t *testing.T) {
+ rawResponse := &http.Response{
+ StatusCode: http.StatusServiceUnavailable,
+ Header: http.Header{
+ RetryAfterHeaderName: []string{"20"},
+ MaintenanceModeHeaderName: []string{"Currently in maintenance mode."},
+ },
+ Body: io.NopCloser(bytes.NewBuffer(nil)), // Initialize response body
}
- if retry := serviceUnavailableRetryCondition(&response, nil); retry {
+ if retry := ServiceUnavailableRetryCondition(rawResponse, nil); retry {
t.Error("expected retry to be skipped due to maintenance mode header")
}
}
+
+// Helper function to create a response body from an object
+func createResponseBody(obj interface{}) io.ReadCloser {
+ body, err := json.Marshal(obj)
+ if err != nil {
+ panic(err)
+ }
+ return io.NopCloser(bytes.NewBuffer(body))
+}
diff --git a/stackscripts.go b/stackscripts.go
index 19b61ce4c..aeaae8ed3 100644
--- a/stackscripts.go
+++ b/stackscripts.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// Stackscript represents a Linode StackScript
@@ -41,13 +41,13 @@ type StackscriptUDF struct {
Example string `json:"example"`
// A list of acceptable single values for the field.
- OneOf string `json:"oneOf,omitempty"`
+ OneOf string `json:"oneOf,omitzero"`
// A list of acceptable values for the field in any quantity, combination or order.
- ManyOf string `json:"manyOf,omitempty"`
+ ManyOf string `json:"manyOf,omitzero"`
// The default value. If not specified, this value will be used.
- Default string `json:"default,omitempty"`
+ Default string `json:"default,omitzero"`
}
// StackscriptCreateOptions fields are those accepted by CreateStackscript
diff --git a/tags.go b/tags.go
index e23ba2168..cf3ae554c 100644
--- a/tags.go
+++ b/tags.go
@@ -36,12 +36,13 @@ type TaggedObjectList []TaggedObject
// TagCreateOptions fields are those accepted by CreateTag
type TagCreateOptions struct {
Label string `json:"label"`
- Linodes []int `json:"linodes,omitempty"`
+ Linodes []int `json:"linodes,omitzero"`
// @TODO is this implemented?
- LKEClusters []int `json:"lke_clusters,omitempty"`
- Domains []int `json:"domains,omitempty"`
- Volumes []int `json:"volumes,omitempty"`
- NodeBalancers []int `json:"nodebalancers,omitempty"`
+ LKEClusters []int `json:"lke_clusters,omitzero"`
+ Domains []int `json:"domains,omitzero"`
+ Volumes []int `json:"volumes,omitzero"`
+ NodeBalancers []int `json:"nodebalancers,omitzero"`
+ ReservedIPv4Addresses []string `json:"reserved_ipv4_addresses,omitzero"`
}
// GetCreateOptions converts a Tag to TagCreateOptions for use in CreateTag
@@ -92,6 +93,13 @@ func (i *TaggedObject) fixData() (*TaggedObject, error) {
return nil, err
}
+ i.Data = obj
+ case "reserved_ipv4_address":
+ obj := InstanceIP{}
+ if err := json.Unmarshal(i.RawData, &obj); err != nil {
+ return nil, err
+ }
+
i.Data = obj
}
diff --git a/test/go.mod b/test/go.mod
index ff26b5e23..c96ce2b66 100644
--- a/test/go.mod
+++ b/test/go.mod
@@ -1,63 +1,64 @@
-module github.com/linode/linodego/test
+module github.com/linode/linodego/v2/test
require (
github.com/dnaeon/go-vcr v1.2.0
github.com/google/go-cmp v0.7.0
github.com/jarcoal/httpmock v1.4.1
- github.com/linode/linodego v1.33.0
github.com/linode/linodego/k8s v0.0.0-00010101000000-000000000000
+ github.com/linode/linodego/v2 v2.0.0
github.com/stretchr/testify v1.11.1
golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67
- golang.org/x/net v0.54.0
+ golang.org/x/net v0.55.0
golang.org/x/oauth2 v0.36.0
- k8s.io/client-go v0.29.4
+ k8s.io/client-go v0.35.5
)
require (
- github.com/davecgh/go-spew v1.1.1 // indirect
- github.com/emicklei/go-restful/v3 v3.11.0 // indirect
- github.com/go-logr/logr v1.3.0 // indirect
- github.com/go-openapi/jsonpointer v0.19.6 // indirect
+ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
+ github.com/emicklei/go-restful/v3 v3.13.0 // indirect
+ github.com/fxamacker/cbor/v2 v2.9.0 // indirect
+ github.com/go-logr/logr v1.4.3 // indirect
+ github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/jsonreference v0.20.2 // indirect
- github.com/go-openapi/swag v0.22.3 // indirect
- github.com/go-resty/resty/v2 v2.17.2 // indirect
- github.com/gogo/protobuf v1.3.2 // indirect
- github.com/golang/protobuf v1.5.4 // indirect
- github.com/google/gnostic-models v0.6.8 // indirect
+ github.com/go-openapi/swag v0.23.0 // indirect
+ github.com/google/gnostic-models v0.7.0 // indirect
github.com/google/go-querystring v1.2.0 // indirect
- github.com/google/gofuzz v1.2.0 // indirect
- github.com/google/uuid v1.3.0 // indirect
- github.com/imdario/mergo v0.3.6 // indirect
+ github.com/google/uuid v1.6.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
- github.com/modern-go/reflect2 v1.0.2 // indirect
+ github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
- github.com/pmezard/go-difflib v1.0.0 // indirect
- github.com/spf13/pflag v1.0.5 // indirect
+ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
+ github.com/spf13/pflag v1.0.9 // indirect
github.com/stretchr/objx v0.5.2 // indirect
- golang.org/x/sys v0.44.0 // indirect
+ github.com/x448/float16 v0.8.4 // indirect
+ go.yaml.in/yaml/v2 v2.4.3 // indirect
+ go.yaml.in/yaml/v3 v3.0.4 // indirect
+ golang.org/x/sys v0.45.0 // indirect
golang.org/x/term v0.43.0 // indirect
golang.org/x/text v0.37.0 // indirect
- golang.org/x/time v0.12.0 // indirect
- google.golang.org/protobuf v1.33.0 // indirect
+ golang.org/x/time v0.14.0 // indirect
+ google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect
+ gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.67.2 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
- k8s.io/api v0.29.4 // indirect
- k8s.io/apimachinery v0.29.4 // indirect
- k8s.io/klog/v2 v2.110.1 // indirect
- k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
- k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
- sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
- sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
- sigs.k8s.io/yaml v1.3.0 // indirect
+ k8s.io/api v0.35.5 // indirect
+ k8s.io/apimachinery v0.35.5 // indirect
+ k8s.io/klog/v2 v2.140.0 // indirect
+ k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a // indirect
+ k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 // indirect
+ sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
+ sigs.k8s.io/randfill v1.0.0 // indirect
+ sigs.k8s.io/structured-merge-diff/v6 v6.3.2 // indirect
+ sigs.k8s.io/yaml v1.6.0 // indirect
)
go 1.25.0
-replace github.com/linode/linodego => ../
+replace github.com/linode/linodego/v2 => ../
replace github.com/linode/linodego/k8s => ../k8s
diff --git a/test/go.sum b/test/go.sum
index eaf8d2f27..21201154e 100644
--- a/test/go.sum
+++ b/test/go.sum
@@ -1,52 +1,40 @@
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
+github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI=
github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ=
-github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
-github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
-github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY=
-github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
-github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE=
+github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes=
+github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
+github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM=
+github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ=
+github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
+github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
+github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
+github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE=
github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k=
-github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g=
github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
-github.com/go-resty/resty/v2 v2.17.2 h1:FQW5oHYcIlkCNrMD2lloGScxcHJ0gkjshV3qcQAyHQk=
-github.com/go-resty/resty/v2 v2.17.2/go.mod h1:kCKZ3wWmwJaNc7S29BRtUhJwy7iqmn+2mLtQrOyQlVA=
-github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
-github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls=
-github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
-github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
-github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
-github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
-github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
-github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
-github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
+github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
+github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo=
+github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/go-querystring v1.2.0 h1:yhqkPbu2/OH+V9BfpCVPZkNmUXhb2gBxJArfhIxNtP0=
github.com/google/go-querystring v1.2.0/go.mod h1:8IFJqpSRITyJ8QhQ13bmbeMBDfmeEJZD5A0egEOmkqU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
-github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec=
-github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
-github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28=
-github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
+github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
+github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/jarcoal/httpmock v1.4.1 h1:0Ju+VCFuARfFlhVXFc2HxlcQkfB+Xq12/EotHko+x2A=
github.com/jarcoal/httpmock v1.4.1/go.mod h1:ftW1xULwo+j0R0JJkJIIi7UKigZUXCLLanykgjwBXL0=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
-github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
-github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
@@ -61,21 +49,19 @@ github.com/maxatome/go-testdeep v1.14.0/go.mod h1:lPZc/HAcJMP92l7yI6TRz1aZN5URwU
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
+github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
+github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
-github.com/onsi/ginkgo/v2 v2.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4=
-github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o=
-github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg=
-github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
-github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
-github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
-github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
+github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
+github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
+github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
+github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
+github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
@@ -88,54 +74,33 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
-github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
+github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
+go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0=
+go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8=
+go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
+go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo=
golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c=
-golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.54.0 h1:2zJIZAxAHV/OHCDTCOHAYehQzLfSXuf/5SoL/Dv6w/w=
-golang.org/x/net v0.54.0/go.mod h1:Sj4oj8jK6XmHpBZU/zWHw3BV3abl4Kvi+Ut7cQcY+cQ=
+golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8=
+golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww=
golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs=
golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q=
-golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ=
-golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
+golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY=
+golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4=
golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk=
-golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc=
golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38=
-golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
-golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
-golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c=
-golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI=
-golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
-google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI=
+golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=
+google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI=
+google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
+gopkg.in/evanphx/json-patch.v4 v4.13.0 h1:czT3CmqEaQ1aanPc5SdlgQrrEIb8w/wwCvWWnfEbYzo=
+gopkg.in/evanphx/json-patch.v4 v4.13.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M=
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/ini.v1 v1.67.2 h1:JtOSMb9OuaCZKr7h5D/h6iii14sK0hLbplTc6frx4Ss=
@@ -146,21 +111,23 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-k8s.io/api v0.29.4 h1:WEnF/XdxuCxdG3ayHNRR8yH3cI1B/llkWBma6bq4R3w=
-k8s.io/api v0.29.4/go.mod h1:DetSv0t4FBTcEpfA84NJV3g9a7+rSzlUHk5ADAYHUv0=
-k8s.io/apimachinery v0.29.4 h1:RaFdJiDmuKs/8cm1M6Dh1Kvyh59YQFDcFuFTSmXes6Q=
-k8s.io/apimachinery v0.29.4/go.mod h1:i3FJVwhvSp/6n8Fl4K97PJEP8C+MM+aoDq4+ZJBf70Y=
-k8s.io/client-go v0.29.4 h1:79ytIedxVfyXV8rpH3jCBW0u+un0fxHDwX5F9K8dPR8=
-k8s.io/client-go v0.29.4/go.mod h1:kC1thZQ4zQWYwldsfI088BbK6RkxK+aF5ebV8y9Q4tk=
-k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0=
-k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo=
-k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780=
-k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA=
-k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI=
-k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
-sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
-sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
-sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
-sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
-sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
-sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
+k8s.io/api v0.35.5 h1:BrFeUDGY/LBtlA1R5RoxhlYRHs76RnQBc6xbm/y7hsQ=
+k8s.io/api v0.35.5/go.mod h1:xWkFhMnoPZdTAQh95Rlw3zZpUUNVlFHcuESUYd06BWM=
+k8s.io/apimachinery v0.35.5 h1:lbjjjUfVeVqFbiOpyhqZHc8DhiYkWOxSNij7lHx2U8Y=
+k8s.io/apimachinery v0.35.5/go.mod h1:NNi1taPOpep0jOj+oRha3mBJPqvi0hGdaV8TCqGQ+cc=
+k8s.io/client-go v0.35.5 h1:wUrgqVSmFRw75bgSHY7X0G/hZM/QYpV0Hg7SYYOYpFk=
+k8s.io/client-go v0.35.5/go.mod h1:Z0mDcAJsX1Y7RQfuQlJipiRtqf8Mhk2VDu1/JvRqdGo=
+k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc=
+k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0=
+k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a h1:xCeOEAOoGYl2jnJoHkC3hkbPJgdATINPMAxaynU2Ovg=
+k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0=
+k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 h1:AZYQSJemyQB5eRxqcPky+/7EdBj0xi3g0ZcxxJ7vbWU=
+k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk=
+sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg=
+sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
+sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=
+sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
+sigs.k8s.io/structured-merge-diff/v6 v6.3.2 h1:kwVWMx5yS1CrnFWA/2QHyRVJ8jM6dBA80uLmm0wJkk8=
+sigs.k8s.io/structured-merge-diff/v6 v6.3.2/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE=
+sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs=
+sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4=
diff --git a/test/integration/TestReservedIPAddresses_GetInstanceIPReservationStatus.yaml b/test/integration/TestReservedIPAddresses_GetInstanceIPReservationStatus.yaml
deleted file mode 100644
index 1ca7cdb20..000000000
--- a/test/integration/TestReservedIPAddresses_GetInstanceIPReservationStatus.yaml
+++ /dev/null
@@ -1,534 +0,0 @@
----
-version: 1
-interactions:
-- request:
- body: '{"region":"us-east"}'
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips
- method: POST
- response:
- body: '{"address": "69.164.211.224", "gateway": "69.164.211.1", "subnet_mask":
- "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "69-164-211-224.ip.linodeusercontent.com",
- "linode_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "264"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Mon, 30 Sep 2024 21:11:18 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - ips:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "800"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-iciv55fz7379","root_pass":"i.L9In8UuA1\\''+xrW8@HG0[hE91\\?29:40@tkUGG\u003ek:.3c63nRR9!jYIc7j.=Nfm","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["69.164.211.224"]}'
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances
- method: POST
- response:
- body: '{"id": 64660675, "label": "go-test-ins-reserved-ip-iciv55fz7379", "group":
- "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["69.164.211.224"], "ipv6": "2600:3c03::f03c:95ff:feb1:6cca/128",
- "image": "linode/alpine3.17", "region": "us-east", "site_type": "core", "specs":
- {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000}, "alerts":
- {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota": 80, "io":
- 10000}, "backups": {"enabled": false, "available": false, "schedule": {"day":
- null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled":
- true, "tags": [], "host_uuid": "b3417256e635b83e03311cd43bf9303dacc5a75d", "has_user_data":
- false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id":
- null, "capabilities": []}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Mon, 30 Sep 2024 21:11:20 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Accept-Encoding
- X-Accepted-Oauth-Scopes:
- - linodes:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "10"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/64660675/ips
- method: GET
- response:
- body: '{"ipv4": {"public": [{"address": "69.164.211.224", "gateway": "69.164.211.1",
- "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true,
- "rdns": "69-164-211-224.ip.linodeusercontent.com", "linode_id": 64660675, "region":
- "us-east", "vpc_nat_1_1": null, "reserved": true}], "private": [], "shared":
- [], "reserved": [], "vpc": []}, "ipv6": {"slaac": {"address": "2600:3c03::f03c:95ff:feb1:6cca",
- "gateway": "fe80::1", "subnet_mask": "ffff:ffff:ffff:ffff::", "prefix": 64,
- "type": "ipv6", "rdns": null, "linode_id": 64660675, "region": "us-east", "public":
- true}, "link_local": {"address": "fe80::f03c:95ff:feb1:6cca", "gateway": "fe80::1",
- "subnet_mask": "ffff:ffff:ffff:ffff::", "prefix": 64, "type": "ipv6", "rdns":
- null, "linode_id": 64660675, "region": "us-east", "public": false}, "global":
- []}}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "817"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Mon, 30 Sep 2024 21:11:20 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - linodes:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "800"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"test-instance-ephemeral-ip","root_pass":"*Y3,P,1;B~2r=8G5}s|Pbe8xI\u003e^02uXO0ur964HOd\u003c2{vHsf-^8Utz\u0026ZB64oMxW\u0026"}'
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances
- method: POST
- response:
- body: '{"id": 64660677, "label": "test-instance-ephemeral-ip", "group": "", "status":
- "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["45.56.102.65"], "ipv6": "2600:3c03::f03c:95ff:feb1:6c9d/128",
- "image": null, "region": "us-east", "site_type": "core", "specs": {"disk": 25600,
- "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000}, "alerts": {"cpu":
- 90, "network_in": 10, "network_out": 10, "transfer_quota": 80, "io": 10000},
- "backups": {"enabled": false, "available": false, "schedule": {"day": null,
- "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled":
- true, "tags": [], "host_uuid": "f3bbdb58fa73e88a3294e17d587a130138658c53", "has_user_data":
- false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id":
- null, "capabilities": []}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "851"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Mon, 30 Sep 2024 21:11:20 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - linodes:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "10"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/64660677/ips
- method: GET
- response:
- body: '{"ipv4": {"public": [{"address": "45.56.102.65", "gateway": "45.56.102.1",
- "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true,
- "rdns": "45-56-102-65.ip.linodeusercontent.com", "linode_id": 64660677, "region":
- "us-east", "vpc_nat_1_1": null, "reserved": false}], "private": [], "shared":
- [], "reserved": [], "vpc": []}, "ipv6": {"slaac": {"address": "2600:3c03::f03c:95ff:feb1:6c9d",
- "gateway": "fe80::1", "subnet_mask": "ffff:ffff:ffff:ffff::", "prefix": 64,
- "type": "ipv6", "rdns": null, "linode_id": 64660677, "region": "us-east", "public":
- true}, "link_local": {"address": "fe80::f03c:95ff:feb1:6c9d", "gateway": "fe80::1",
- "subnet_mask": "ffff:ffff:ffff:ffff::", "prefix": 64, "type": "ipv6", "rdns":
- null, "linode_id": 64660677, "region": "us-east", "public": false}, "global":
- []}}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "813"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Mon, 30 Sep 2024 21:11:21 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - linodes:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "800"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/64660677
- method: DELETE
- response:
- body: '{}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "2"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Mon, 30 Sep 2024 21:11:22 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - linodes:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "800"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/64660675
- method: DELETE
- response:
- body: '{}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "2"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Mon, 30 Sep 2024 21:11:25 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - linodes:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "800"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/69.164.211.224
- method: DELETE
- response:
- body: '{}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "2"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Mon, 30 Sep 2024 21:11:25 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - ips:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "10"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
diff --git a/test/integration/account_availability_test.go b/test/integration/account_availability_test.go
index 1c9f96ce5..657b6ea97 100644
--- a/test/integration/account_availability_test.go
+++ b/test/integration/account_availability_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestAccountAvailability_List(t *testing.T) {
diff --git a/test/integration/account_betas_test.go b/test/integration/account_betas_test.go
index 21344372c..7889dcfd7 100644
--- a/test/integration/account_betas_test.go
+++ b/test/integration/account_betas_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestAccountBetaPrograms(t *testing.T) {
diff --git a/test/integration/account_events_test.go b/test/integration/account_events_test.go
index 7c305034d..c987f2bdd 100644
--- a/test/integration/account_events_test.go
+++ b/test/integration/account_events_test.go
@@ -3,8 +3,9 @@ package integration
import (
"context"
"testing"
+ "time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestAccountEvents_List_smoke(t *testing.T) {
@@ -21,6 +22,9 @@ func TestAccountEvents_List_smoke(t *testing.T) {
t.Error(err)
}
+ // Sometimes it takes a bit longer to create a config
+ time.Sleep(time.Second * 3)
+
f := linodego.Filter{}
f.AddField(linodego.Eq, "entity.id", instance.ID)
f.AddField(linodego.Eq, "entity.type", "linode")
diff --git a/test/integration/account_maintenance_test.go b/test/integration/account_maintenance_test.go
index d3b49c574..a6efc212c 100644
--- a/test/integration/account_maintenance_test.go
+++ b/test/integration/account_maintenance_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestAccountMaintenances_List(t *testing.T) {
diff --git a/test/integration/account_notifications_test.go b/test/integration/account_notifications_test.go
index b22e3c192..8ff194ce4 100644
--- a/test/integration/account_notifications_test.go
+++ b/test/integration/account_notifications_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestAccountNotifications_List(t *testing.T) {
diff --git a/test/integration/account_oauth_client_test.go b/test/integration/account_oauth_client_test.go
index 538210584..0156338a6 100644
--- a/test/integration/account_oauth_client_test.go
+++ b/test/integration/account_oauth_client_test.go
@@ -4,8 +4,8 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
- . "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
+ . "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/integration/account_payments_test.go b/test/integration/account_payments_test.go
index a53013ad7..238662136 100644
--- a/test/integration/account_payments_test.go
+++ b/test/integration/account_payments_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- . "github.com/linode/linodego"
+ . "github.com/linode/linodego/v2"
)
func TestPayment_GetMissing(t *testing.T) {
diff --git a/test/integration/account_settings_test.go b/test/integration/account_settings_test.go
index 9352db64f..50de80b98 100644
--- a/test/integration/account_settings_test.go
+++ b/test/integration/account_settings_test.go
@@ -6,7 +6,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/require"
)
diff --git a/test/integration/account_user_grants_test.go b/test/integration/account_user_grants_test.go
index 32f4ce698..0cee3b47c 100644
--- a/test/integration/account_user_grants_test.go
+++ b/test/integration/account_user_grants_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"github.com/google/go-cmp/cmp"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestUserGrants_Update(t *testing.T) {
diff --git a/test/integration/account_users_test.go b/test/integration/account_users_test.go
index 18204e930..094164e0f 100644
--- a/test/integration/account_users_test.go
+++ b/test/integration/account_users_test.go
@@ -5,8 +5,8 @@ import (
"testing"
"github.com/google/go-cmp/cmp/cmpopts"
- "github.com/linode/linodego"
- . "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
+ . "github.com/linode/linodego/v2"
)
const usernamePrefix = "linodegotest-"
diff --git a/test/integration/betas_test.go b/test/integration/betas_test.go
index e46401e8c..b1d66d943 100644
--- a/test/integration/betas_test.go
+++ b/test/integration/betas_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestBetaPrograms_List(t *testing.T) {
diff --git a/test/integration/cache_test.go b/test/integration/cache_test.go
index fd4207de2..82f0a0dde 100644
--- a/test/integration/cache_test.go
+++ b/test/integration/cache_test.go
@@ -7,7 +7,7 @@ import (
"testing"
"time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestCache_RegionList(t *testing.T) {
@@ -28,8 +28,8 @@ func TestCache_RegionList(t *testing.T) {
totalRequests := int64(0)
client.OnBeforeRequest(func(request *linodego.Request) error {
- page := request.QueryParam.Get("page")
- if !strings.Contains(request.URL, "regions") || page != "1" {
+ page := request.URL.Query().Get("page")
+ if !strings.Contains(request.URL.String(), "regions") || page != "1" {
return nil
}
@@ -91,8 +91,8 @@ func TestCache_Expiration(t *testing.T) {
totalRequests := int64(0)
client.OnBeforeRequest(func(request *linodego.Request) error {
- page := request.QueryParam.Get("page")
- if !strings.Contains(request.URL, "kernels") || page != "1" {
+ page := request.URL.Query().Get("page")
+ if !strings.Contains(request.URL.String(), "kernels") || page != "1" {
return nil
}
diff --git a/test/integration/databases_test.go b/test/integration/databases_test.go
index 99090a35d..679cb6d98 100644
--- a/test/integration/databases_test.go
+++ b/test/integration/databases_test.go
@@ -6,7 +6,7 @@ import (
"time"
"github.com/google/go-cmp/cmp/cmpopts"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
var ignoreDatabaseTimestampes = cmpopts.IgnoreFields(linodego.Database{}, "Created", "Updated")
@@ -66,7 +66,9 @@ func TestDatabase_Type(t *testing.T) {
}
func TestDatabase_List(t *testing.T) {
- client, database, teardown, err := setupPostgresDatabase(t, nil, "fixtures/TestDatabase_List")
+ ctx := waitContext(t, 5400*time.Second)
+
+ client, database, teardown, err := setupPostgresDatabase(t, ctx, nil, "fixtures/TestDatabase_List")
if err != nil {
t.Error(err)
}
@@ -90,18 +92,18 @@ func TestDatabase_List(t *testing.T) {
}
}
-func waitForDatabaseUpdated(t *testing.T, client *linodego.Client, dbID int,
+func waitForDatabaseUpdated(t *testing.T, ctx context.Context, client *linodego.Client, dbID int,
dbType linodego.DatabaseEngineType, minStart *time.Time,
) {
- _, err := client.WaitForEventFinished(context.Background(), dbID, linodego.EntityDatabase,
- linodego.ActionDatabaseUpdate, *minStart, 1200)
+ _, err := client.WaitForEventFinished(ctx, dbID, linodego.EntityDatabase,
+ linodego.ActionDatabaseUpdate, *minStart)
if err != nil {
t.Fatalf("failed to wait for database update: %s", err)
}
// Sometimes the event has finished but the status hasn't caught up
- err = client.WaitForDatabaseStatus(context.Background(), dbID, dbType,
- linodego.DatabaseStatusActive, 120)
+ err = client.WaitForDatabaseStatus(ctx, dbID, dbType,
+ linodego.DatabaseStatusActive)
if err != nil {
t.Fatalf("failed to wait for database active: %s", err)
}
diff --git a/test/integration/domain_records_test.go b/test/integration/domain_records_test.go
index 6e9bb2d8e..4f7307083 100644
--- a/test/integration/domain_records_test.go
+++ b/test/integration/domain_records_test.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
var testDomainRecordCreateOpts = linodego.DomainRecordCreateOptions{
diff --git a/test/integration/domains_test.go b/test/integration/domains_test.go
index 74342c61e..a559b9ec2 100644
--- a/test/integration/domains_test.go
+++ b/test/integration/domains_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
var testDomainCreateOpts = linodego.DomainCreateOptions{
@@ -92,7 +92,7 @@ func setupDomain(t *testing.T, fixturesYaml string) (*linodego.Client, *linodego
client, fixtureTeardown := createTestClient(t, fixturesYaml)
createOpts := testDomainCreateOpts
- createOpts.Domain = "linodego-blue-test.com"
+ createOpts.Domain = "linodego-blue-" + randString(6, digits) + "-test.com"
domain, err := client.CreateDomain(context.Background(), createOpts)
if err != nil {
diff --git a/test/integration/example_nodebalancers_test.go b/test/integration/example_nodebalancers_test.go
index ecb3eb81d..07c4e554b 100644
--- a/test/integration/example_nodebalancers_test.go
+++ b/test/integration/example_nodebalancers_test.go
@@ -5,7 +5,7 @@ import (
"fmt"
"log"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func ExampleClient_CreateNodeBalancer() {
@@ -167,7 +167,10 @@ func ExampleClient_CreateNodeBalancerNode() {
log.Fatal(err)
}
- ip, err := linodeClient.AddInstanceIPAddress(context.Background(), instance.ID, false)
+ opts := linodego.InstanceIPAddOptions{
+ Public: false,
+ }
+ ip, err := linodeClient.AddInstanceIPAddress(context.Background(), instance.ID, opts)
if err != nil {
log.Fatal(err)
}
diff --git a/test/integration/example_stackscripts_test.go b/test/integration/example_stackscripts_test.go
index 8d01f377c..2d8f076c1 100644
--- a/test/integration/example_stackscripts_test.go
+++ b/test/integration/example_stackscripts_test.go
@@ -7,7 +7,7 @@ import (
"strconv"
"time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func ExampleClient_CreateStackscript() {
diff --git a/test/integration/example_test.go b/test/integration/example_test.go
index eef225ef2..479b155b8 100644
--- a/test/integration/example_test.go
+++ b/test/integration/example_test.go
@@ -11,7 +11,7 @@ import (
"log"
"strings"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func ExampleClient_ListTypes_all() {
diff --git a/test/integration/firewall_rules_test.go b/test/integration/firewall_rules_test.go
index a32331f7c..a8cb96b00 100644
--- a/test/integration/firewall_rules_test.go
+++ b/test/integration/firewall_rules_test.go
@@ -5,25 +5,35 @@ import (
"testing"
"github.com/google/go-cmp/cmp"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
var (
- testFirewallRule = linodego.FirewallRule{
+ testFirewallRuleInbound = linodego.FirewallRuleInbound{
Label: "go-fwrule-test",
Action: "ACCEPT",
Ports: "22",
Protocol: "TCP",
Addresses: linodego.NetworkAddresses{
- IPv4: &[]string{"0.0.0.0/0"},
- IPv6: &[]string{"::0/0"},
+ IPv4: []string{"0.0.0.0/0"},
+ IPv6: []string{"::0/0"},
+ },
+ }
+ testFirewallRuleOutbound = linodego.FirewallRuleOutbound{
+ Label: "go-fwrule-test",
+ Action: "ACCEPT",
+ Ports: "22",
+ Protocol: "TCP",
+ Addresses: linodego.NetworkAddresses{
+ IPv4: []string{"0.0.0.0/0"},
+ IPv6: []string{"::0/0"},
},
}
- testFirewallRuleSet = linodego.FirewallRuleSet{
- Inbound: []linodego.FirewallRule{testFirewallRule},
+ testFirewallRuleSet = linodego.FirewallRulesCreateOptions{
+ Inbound: []linodego.FirewallRuleInbound{testFirewallRuleInbound},
InboundPolicy: "ACCEPT",
- Outbound: []linodego.FirewallRule{testFirewallRule},
+ Outbound: []linodego.FirewallRuleOutbound{testFirewallRuleOutbound},
OutboundPolicy: "ACCEPT",
}
)
@@ -74,16 +84,16 @@ func TestFirewallRules_Update(t *testing.T) {
}
defer teardown()
- newRules := linodego.FirewallRuleSet{
- Inbound: []linodego.FirewallRule{
+ newRules := linodego.FirewallRulesUpdateOptions{
+ Inbound: []linodego.FirewallRuleInbound{
{
- Label: testFirewallRule.Label + "_r",
+ Label: testFirewallRuleInbound.Label + "_r",
Action: "DROP",
Ports: "22",
Protocol: "TCP",
Addresses: linodego.NetworkAddresses{
- IPv4: &[]string{"0.0.0.0/0"},
- IPv6: &[]string{"::0/0"},
+ IPv4: []string{"0.0.0.0/0"},
+ IPv6: []string{"::0/0"},
},
},
},
diff --git a/test/integration/firewall_rulesets_test.go b/test/integration/firewall_rulesets_test.go
index db7601f7b..9093f6f3a 100644
--- a/test/integration/firewall_rulesets_test.go
+++ b/test/integration/firewall_rulesets_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestFirewallRuleSets_CRUD(t *testing.T) {
@@ -14,18 +14,18 @@ func TestFirewallRuleSets_CRUD(t *testing.T) {
ctx := context.Background()
label := "rs-51452000"
- createOpts := linodego.RuleSetCreateOptions{
+ createOpts := linodego.FirewallRuleSetCreateOptions{
Label: label,
Description: "Allow inbound HTTP",
Type: linodego.FirewallRuleSetTypeInbound,
- Rules: []linodego.FirewallRule{
+ Rules: []linodego.FirewallRuleSetRuleCreateOptions{
{
Label: "allow-http",
Action: "ACCEPT",
Protocol: linodego.NetworkProtocol("TCP"),
Ports: "80",
Addresses: linodego.NetworkAddresses{
- IPv4: &[]string{"0.0.0.0/0"},
+ IPv4: []string{"0.0.0.0/0"},
},
},
},
@@ -64,22 +64,22 @@ func TestFirewallRuleSets_CRUD(t *testing.T) {
updatedLabel := label + "-updated"
updatedDescription := "Updated description"
- updatedRules := []linodego.FirewallRule{
+ updatedRules := []linodego.FirewallRuleSetRuleUpdateOptions{
{
Label: "allow-https",
Action: "ACCEPT",
Protocol: linodego.NetworkProtocol("TCP"),
Ports: "443",
Addresses: linodego.NetworkAddresses{
- IPv6: &[]string{"::/0"},
+ IPv6: []string{"::/0"},
},
},
}
- updateOpts := linodego.RuleSetUpdateOptions{
+ updateOpts := linodego.FirewallRuleSetUpdateOptions{
Label: &updatedLabel,
Description: &updatedDescription,
- Rules: &updatedRules,
+ Rules: updatedRules,
}
updated, err := client.UpdateFirewallRuleSet(ctx, ruleSet.ID, updateOpts)
diff --git a/test/integration/firewalls_devices_test.go b/test/integration/firewalls_devices_test.go
index 93f4f30c9..0b75fb157 100644
--- a/test/integration/firewalls_devices_test.go
+++ b/test/integration/firewalls_devices_test.go
@@ -6,7 +6,7 @@ import (
"testing"
"github.com/google/go-cmp/cmp"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestFirewallDevices_List_smoke(t *testing.T) {
@@ -56,7 +56,7 @@ func TestFirewallDevices_List_smoke(t *testing.T) {
if firewallDevices[0].Entity.ID != instance.ID {
t.Errorf("expected device entity id %d, got %d", instance.ID, firewallDevices[0].Entity.ID)
}
- if firewallDevices[0].Entity.Label == "" {
+ if firewallDevices[0].Entity.Label == nil || *firewallDevices[0].Entity.Label == "" {
t.Error("expected non-empty device entity label")
}
if firewallDevices[0].Entity.ParentEntity != nil {
@@ -91,7 +91,7 @@ func TestFirewallDevice_Get(t *testing.T) {
} else if !cmp.Equal(device, firewallDevice) {
t.Errorf("expected device to match create result but got diffs: %s", cmp.Diff(device, firewallDevice))
} else {
- if device.Entity.Label == "" {
+ if device.Entity.Label == nil || *device.Entity.Label == "" {
t.Error("expected non-empty device entity label")
}
if device.Entity.ParentEntity != nil {
diff --git a/test/integration/firewalls_test.go b/test/integration/firewalls_test.go
index 1f18a500f..6c433e451 100644
--- a/test/integration/firewalls_test.go
+++ b/test/integration/firewalls_test.go
@@ -7,7 +7,7 @@ import (
"github.com/google/go-cmp/cmp"
"github.com/google/go-cmp/cmp/cmpopts"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
var testFirewallCreateOpts = linodego.FirewallCreateOptions{
@@ -18,7 +18,10 @@ var testFirewallCreateOpts = linodego.FirewallCreateOptions{
// ignoreNetworkAddresses negates comparing IP addresses. Because of fixture sanitization,
// these addresses will be changed to bogus values when running tests.
-var ignoreNetworkAddresses = cmpopts.IgnoreFields(linodego.FirewallRule{}, "Addresses")
+var ignoreNetworkAddresses = cmp.Options{
+ cmpopts.IgnoreFields(linodego.FirewallRuleInbound{}, "Addresses"),
+ cmpopts.IgnoreFields(linodego.FirewallRuleOutbound{}, "Addresses"),
+}
// ignoreFirewallTimestamps negates comparing created and updated timestamps. Because of
// fixture sanitization, these addresses will be changed to bogus values when running tests.
@@ -46,15 +49,15 @@ func TestFirewalls_List_smoke(t *testing.T) {
}
func TestFirewall_Get(t *testing.T) {
- rules := linodego.FirewallRuleSet{
- Inbound: []linodego.FirewallRule{
+ rules := linodego.FirewallRulesCreateOptions{
+ Inbound: []linodego.FirewallRuleInbound{
{
Label: "linodego-fwrule-test",
Action: "DROP",
Protocol: linodego.ICMP,
Addresses: linodego.NetworkAddresses{
- IPv4: &[]string{"0.0.0.0/0"},
- IPv6: &[]string{"::/0"},
+ IPv4: []string{"0.0.0.0/0"},
+ IPv6: []string{"::/0"},
},
},
},
@@ -87,15 +90,15 @@ func TestFirewall_Get(t *testing.T) {
}
func TestFirewall_Update(t *testing.T) {
- rules := linodego.FirewallRuleSet{
+ rules := linodego.FirewallRulesCreateOptions{
InboundPolicy: "ACCEPT",
- Inbound: []linodego.FirewallRule{
+ Inbound: []linodego.FirewallRuleInbound{
{
Label: "linodego-fwrule-test",
Action: "DROP",
Protocol: linodego.ICMP,
Addresses: linodego.NetworkAddresses{
- IPv4: &[]string{"0.0.0.0/0"},
+ IPv4: []string{"0.0.0.0/0"},
},
},
},
@@ -117,7 +120,7 @@ func TestFirewall_Update(t *testing.T) {
updateOpts := firewall.GetUpdateOptions()
updateOpts.Status = linodego.FirewallDisabled
updateOpts.Label = firewall.Label + "-updated"
- updateOpts.Tags = &[]string{}
+ updateOpts.Tags = []string{}
updated, err := client.UpdateFirewall(context.Background(), firewall.ID, updateOpts)
if err != nil {
@@ -128,8 +131,8 @@ func TestFirewall_Update(t *testing.T) {
t.Errorf("expected no firewall entities after update, got %d", len(updated.Entities))
}
- if !cmp.Equal(updated.Tags, *updateOpts.Tags) {
- t.Errorf("expected tags to be updated: %s", cmp.Diff(updated.Tags, *updateOpts.Tags))
+ if !cmp.Equal(updated.Tags, updateOpts.Tags) {
+ t.Errorf("expected tags to be updated: %s", cmp.Diff(updated.Tags, updateOpts.Tags))
}
if updated.Status != updateOpts.Status {
t.Errorf("expected status %s but got %s", updateOpts.Status, updated.Status)
diff --git a/test/integration/fixtures/TestAccountEvents_List.yaml b/test/integration/fixtures/TestAccountEvents_List.yaml
index 32a0be91f..0c91d210b 100644
--- a/test/integration/fixtures/TestAccountEvents_List.yaml
+++ b/test/integration/fixtures/TestAccountEvents_List.yaml
@@ -14,288 +14,360 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.105.34.5, 172.105.35.5, 172.105.36.5, 172.105.37.5, 172.105.38.5,
- 172.105.39.5, 172.105.40.5, 172.105.41.5, 172.105.42.5, 172.105.43.5", "ipv6":
- "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "172.105.0.5, 172.105.3.5, 172.105.4.5,
- 172.105.5.5, 172.105.6.5, 172.105.7.5, 172.105.8.5, 172.105.9.5, 172.105.10.5,
- 172.105.11.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country": "au", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4":
- "172.105.166.5, 172.105.169.5, 172.105.168.5, 172.105.172.5, 172.105.162.5,
- 172.105.170.5, 172.105.167.5, 172.105.171.5, 172.105.181.5, 172.105.161.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-iad", "label":
- "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group"], "status": "ok",
- "resolvers": {"ipv4": "139.144.192.62, 139.144.192.60, 139.144.192.61, 139.144.192.53,
- 139.144.192.54, 139.144.192.67, 139.144.192.69, 139.144.192.66, 139.144.192.52,
- 139.144.192.68", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-ord", "label": "Chicago, IL", "country": "us", "capabilities":
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "172.232.0.17, 172.232.0.16,
- 172.232.0.21, 172.232.0.13, 172.232.0.22, 172.232.0.9, 172.232.0.19, 172.232.0.20,
- 172.232.0.15, 172.232.0.18", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "fr-par", "label": "Paris, FR", "country": "fr", "capabilities":
- ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "172.232.32.21, 172.232.32.23,
- 172.232.32.17, 172.232.32.18, 172.232.32.16, 172.232.32.22, 172.232.32.20, 172.232.32.14,
- 172.232.32.11, 172.232.32.12", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-sea", "label": "Seattle, WA", "country": "us", "capabilities":
- ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "172.232.160.19, 172.232.160.21, 172.232.160.17,
- 172.232.160.15, 172.232.160.18, 172.232.160.8, 172.232.160.12, 172.232.160.11,
- 172.232.160.14, 172.232.160.16", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "br-gru", "label": "Sao Paulo, BR", "country": "br", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.0.4,
- 172.233.0.9, 172.233.0.7, 172.233.0.12, 172.233.0.5, 172.233.0.13, 172.233.0.10,
- 172.233.0.6, 172.233.0.8, 172.233.0.11", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country":
- "nl", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.33.36,
- 172.233.33.38, 172.233.33.35, 172.233.33.39, 172.233.33.34, 172.233.33.33, 172.233.33.31,
- 172.233.33.30, 172.233.33.37, 172.233.33.32", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country":
- "se", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.128.24,
- 172.232.128.26, 172.232.128.20, 172.232.128.22, 172.232.128.25, 172.232.128.19,
- 172.232.128.23, 172.232.128.18, 172.232.128.21, 172.232.128.27", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "es-mad", "label": "Madrid, ES", "country":
- "es", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
{"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-maa", "label": "Chennai, IN", "country":
- "in", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.96.17,
- 172.232.96.26, 172.232.96.19, 172.232.96.20, 172.232.96.25, 172.232.96.21, 172.232.96.18,
- 172.232.96.22, 172.232.96.23, 172.232.96.24", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-osa", "label": "Osaka, JP", "country":
- "jp", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "172.233.64.44, 172.233.64.43,
- 172.233.64.37, 172.233.64.40, 172.233.64.46, 172.233.64.41, 172.233.64.39, 172.233.64.42,
- 172.233.64.45, 172.233.64.38", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "it-mil", "label": "Milan, IT", "country": "it", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.192.19,
- 172.232.192.18, 172.232.192.16, 172.232.192.20, 172.232.192.24, 172.232.192.21,
- 172.232.192.22, 172.232.192.17, 172.232.192.15, 172.232.192.23", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-mia", "label": "Miami, FL", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.160.34,
- 172.233.160.27, 172.233.160.30, 172.233.160.29, 172.233.160.32, 172.233.160.28,
- 172.233.160.33, 172.233.160.26, 172.233.160.25, 172.233.160.31", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "id-cgk", "label": "Jakarta, ID", "country":
- "id", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "172.232.224.23, 172.232.224.32, 172.232.224.26,
- 172.232.224.27, 172.232.224.21, 172.232.224.24, 172.232.224.22, 172.232.224.20,
- 172.232.224.31, 172.232.224.28", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-lax", "label": "Los Angeles, CA", "country": "us", "capabilities":
- ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.233.128.45, 172.233.128.38, 172.233.128.53, 172.233.128.37, 172.233.128.34,
- 172.233.128.36, 172.233.128.33, 172.233.128.39, 172.233.128.43, 172.233.128.44",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "gb-lon", "label":
- "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "au-mel", "label": "Melbourne, AU", "country":
- "au", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-bom-2", "label": "Mumbai 2, IN", "country":
- "in", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "de-fra-2", "label": "Frankfurt 2, DE", "country":
- "de", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
- "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "sg-sin-2", "label": "Singapore 2, SG", "country":
- "sg", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
"status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-tyo-3", "label": "Tokyo 3, JP", "country":
- "jp", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX", "country":
- "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "72.14.179.5, 72.14.188.5, 173.255.199.5, 66.228.53.5, 96.126.122.5,
- 96.126.124.5, 96.126.127.5, 198.58.107.5, 198.58.111.5, 23.239.24.5", "ipv6":
- "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-west", "label": "Fremont, CA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4":
- "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
- 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
- "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
- "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "66.228.42.5, 96.126.106.5, 50.116.53.5, 50.116.58.5,
- 50.116.61.5, 50.116.62.5, 66.175.211.5, 97.107.133.4, 207.192.69.4, 207.192.69.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "eu-west", "label": "London, UK", "country": "gb", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5,
- 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20,
- 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": null,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-south", "label":
- "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country":
- "de", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country":
- "jp", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
{"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 31}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -318,7 +390,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 08 Nov 2024 14:56:10 GMT
+ - Wed, 20 May 2026 11:17:46 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -337,14 +409,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"region":"ap-west","type":"g6-nanode-1","label":"go-test-ins-bm057s6gwc45","root_pass":"^07IK!9Q/8dXDbadb391O0Ar@f9\u0026xM7NwH@,dWeA''Hx@W203r}h\u003cQr{-50.f#L1#","image":"linode/debian9","firewall_id":1160422,"booted":false}'
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"go-test-ins-az927qsj43f6","image":"linode/debian12","root_pass":"eD{];Jgk6bSkS?q~o8u0m^;Re,+''h7Z9C[$651eq.kJQVY5Q$qLF1!9\u002619WE3y05","firewall_id":21576623,"booted":false}'
form: {}
headers:
Accept:
@@ -356,17 +428,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 66787226, "label": "go-test-ins-bm057s6gwc45", "group": "", "status":
+ body: '{"id": 97885290, "label": "go-test-ins-az927qsj43f6", "group": "", "status":
"provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["172.105.60.170"], "ipv6": "1234::5678/128",
- "image": "linode/debian9", "region": "ap-west", "site_type": "core", "specs":
- {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000}, "alerts":
- {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota": 80, "io":
- 10000}, "backups": {"enabled": true, "available": false, "schedule": {"day":
- null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled":
- true, "tags": [], "host_uuid": "c37a9389a8780ce12d745d3f703cbee667a6278e", "has_user_data":
- false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id":
- null, "capabilities": ["SMTP Enabled"]}'
+ "type": "g6-nanode-1", "ipv4": ["172.237.124.37"], "ipv6": "1234::5678/128",
+ "image": "linode/debian12", "region": "gb-lon", "site_type": "core", "specs":
+ {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "3f5cc20b9e2b3b7171560718534dbcfc3dae96af", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -389,7 +463,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 08 Nov 2024 14:56:11 GMT
+ - Wed, 20 May 2026 11:17:47 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -407,7 +481,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "5"
+ - "20"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -423,10 +497,10 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/66787226/configs
+ url: https://api.linode.com/v4beta/linode/instances/97885290/configs
method: POST
response:
- body: '{"id": 70105769, "label": "test-config", "helpers": {"updatedb_disabled":
+ body: '{"id": 101360632, "label": "test-config", "helpers": {"updatedb_disabled":
true, "distro": true, "modules_dep": true, "network": true, "devtmpfs_automount":
true}, "kernel": "linode/latest-64bit", "comments": "", "memory_limit": 0, "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "root_device": "/dev/sda",
@@ -451,13 +525,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "525"
+ - "526"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 08 Nov 2024 14:56:11 GMT
+ - Wed, 20 May 2026 11:17:48 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -474,7 +548,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -491,17 +565,17 @@ interactions:
User-Agent:
- linodego/dev https://github.com/linode/linodego
X-Filter:
- - '{"action":"linode_config_create","entity.id":66787226,"entity.type":"linode"}'
+ - '{"action":"linode_config_create","entity.id":97885290,"entity.type":"linode"}'
url: https://api.linode.com/v4beta/account/events?page=1
method: GET
response:
- body: '{"data": [{"id": 874986920, "created": "2018-01-02T03:04:05", "seen": false,
- "read": false, "percent_complete": null, "time_remaining": null, "rate": null,
- "duration": null, "action": "linode_config_create", "username": "ErikZilber",
- "entity": {"label": "go-test-ins-bm057s6gwc45", "id": 66787226, "type": "linode",
- "url": "/v4/linode/instances/66787226"}, "status": "notification", "secondary_entity":
- {"id": 70105769, "type": "linode_config", "label": "test-config", "url": "/v4/linode/instances/66787226/configs/70105769"},
- "message": ""}], "page": 1, "pages": 1, "results": 1}'
+ body: '{"data": [{"id": 1586006701, "created": "2018-01-02T03:04:05", "seen":
+ false, "read": false, "percent_complete": null, "time_remaining": null, "rate":
+ null, "duration": null, "action": "linode_config_create", "username": "mawilk_admin",
+ "entity": {"label": "go-test-ins-az927qsj43f6", "id": 97885290, "type": "linode",
+ "url": "/v4/linode/instances/97885290"}, "status": "notification", "secondary_entity":
+ {"id": 101360632, "type": "linode_config", "label": "test-config", "url": "/v4/linode/instances/97885290/configs/101360632"},
+ "message": "", "details": {}}], "page": 1, "pages": 1, "results": 1}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -520,13 +594,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "580"
+ - "600"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 08 Nov 2024 14:56:11 GMT
+ - Wed, 20 May 2026 11:17:51 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -544,7 +618,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -560,7 +634,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/66787226
+ url: https://api.linode.com/v4beta/linode/instances/97885290
method: DELETE
response:
body: '{}'
@@ -588,7 +662,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 08 Nov 2024 14:56:13 GMT
+ - Wed, 20 May 2026 11:17:52 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -605,7 +679,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestEventPoller_Secondary.yaml b/test/integration/fixtures/TestEventPoller_Secondary.yaml
index 71d425eb1..615aaae10 100644
--- a/test/integration/fixtures/TestEventPoller_Secondary.yaml
+++ b/test/integration/fixtures/TestEventPoller_Secondary.yaml
@@ -14,194 +14,449 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases"], "status":
- "ok", "resolvers": {"ipv4": "172.105.34.5, 172.105.35.5, 172.105.36.5, 172.105.37.5,
- 172.105.38.5, 172.105.39.5, 172.105.40.5, 172.105.41.5, 172.105.42.5, 172.105.43.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}}, {"id": "ca-central", "label": "Toronto, CA",
- "country": "ca", "capabilities": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases"], "status": "ok", "resolvers": {"ipv4": "172.105.0.5, 172.105.3.5,
- 172.105.4.5, 172.105.5.5, 172.105.6.5, 172.105.7.5, 172.105.8.5, 172.105.9.5,
- 172.105.10.5, 172.105.11.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "NodeBalancers",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nz-akl-1",
+ "label": "Auckland, NZ", "country": "nz", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-den-1", "label": "Denver, CO", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "de-ham-1", "label": "Hamburg, DE", "country": "de", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "za-jnb-1", "label": "Johannesburg, ZA", "country": "za", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "my-kul-1", "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "co-bog-1", "label": "Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "mx-qro-1", "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities":
+ ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed
+ Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-hou-1", "label": "Houston, TX", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "cl-scl-1", "label": "Santiago, CL", "country": "cl", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-ber-1",
+ "label": "Berlin, DE", "country": "de", "capabilities": ["Linodes", "Disk Encryption",
+ "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance Policy"],
+ "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4":
+ "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "no-osl-1", "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes",
+ "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block
+ Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall",
+ "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium
+ Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-rno-1",
+ "label": "Reno, NV", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
+ "Backups", "NodeBalancers", "GPU Linodes", "Cloud Firewall", "Metadata", "Premium
+ Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "", "ipv6": ""}, "placement_group_limits": {"maximum_pgs_per_customer":
+ null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
+ "core"}, {"id": "co-bog-2", "label": "Bogot\u00e1 2, CO", "country": "co", "capabilities":
+ ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed
+ Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "fr-mrs-2", "label": "Marseille 2, FR", "country": "fr", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-mia", "label": "Miami, FL", "country": "us", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases"], "status": "ok", "resolvers": {"ipv4": "172.105.166.5,
- 172.105.169.5, 172.105.168.5, 172.105.172.5, 172.105.162.5, 172.105.170.5, 172.105.167.5,
- 172.105.171.5, 172.105.181.5, 172.105.161.5", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"}},
- {"id": "us-iad", "label": "Washington, DC", "country": "us", "capabilities":
- ["Linodes", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans"], "status": "ok", "resolvers": {"ipv4": "139.144.192.62, 139.144.192.60, 139.144.192.61, 139.144.192.53, 139.144.192.54, 139.144.192.67, 139.144.192.69, 139.144.192.66, 139.144.192.52, 139.144.192.68",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}},
- {"id": "us-ord", "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes",
- "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans"], "status":
- "ok", "resolvers": {"ipv4": "172.232.0.17, 172.232.0.16, 172.232.0.21, 172.232.0.13, 172.232.0.22, 172.232.0.9, 172.232.0.19, 172.232.0.20, 172.232.0.15, 172.232.0.18",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}},
- {"id": "fr-par", "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes",
- "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Managed Databases", "Metadata", "Premium Plans"], "status": "ok",
- "resolvers": {"ipv4": "172.232.32.21, 172.232.32.23, 172.232.32.17, 172.232.32.18, 172.232.32.16, 172.232.32.22, 172.232.32.20, 172.232.32.14, 172.232.32.11, 172.232.32.12",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}},
- {"id": "us-sea", "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes",
- "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.232.160.19, 172.232.160.21, 172.232.160.17, 172.232.160.15, 172.232.160.18,
- 172.232.160.8, 172.232.160.12, 172.232.160.11, 172.232.160.14, 172.232.160.16",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}}, {"id": "br-gru", "label": "Sao Paulo, BR",
- "country": "br", "capabilities": ["Linodes", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.233.0.4, 172.233.0.9,
- 172.233.0.7, 172.233.0.12, 172.233.0.5, 172.233.0.13, 172.233.0.10, 172.233.0.6,
- 172.233.0.8, 172.233.0.11", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.233.33.36, 172.233.33.38, 172.233.33.35, 172.233.33.39, 172.233.33.34,
- 172.233.33.33, 172.233.33.31, 172.233.33.30, 172.233.33.37, 172.233.33.32",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}}, {"id": "se-sto", "label": "Stockholm, SE",
- "country": "se", "capabilities": ["Linodes", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.232.128.24, 172.232.128.26,
- 172.232.128.20, 172.232.128.22, 172.232.128.25, 172.232.128.19, 172.232.128.23,
- 172.232.128.18, 172.232.128.21, 172.232.128.27", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"}},
- {"id": "es-mad", "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes",
- "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.233.111.6, 172.233.111.17, 172.233.111.21, 172.233.111.25, 172.233.111.19,
- 172.233.111.12, 172.233.111.26, 172.233.111.16, 172.233.111.18, 172.233.111.9",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}}, {"id": "in-maa", "label": "Chennai, IN",
- "country": "in", "capabilities": ["Linodes", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.232.96.17, 172.232.96.26,
- 172.232.96.19, 172.232.96.20, 172.232.96.25, 172.232.96.21, 172.232.96.18, 172.232.96.22,
- 172.232.96.23, 172.232.96.24", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}}, {"id": "jp-osa",
- "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.233.64.44, 172.233.64.43, 172.233.64.37, 172.233.64.40, 172.233.64.46,
- 172.233.64.41, 172.233.64.39, 172.233.64.42, 172.233.64.45, 172.233.64.38",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}}, {"id": "it-mil", "label": "Milan, IT", "country":
- "it", "capabilities": ["Linodes", "NodeBalancers", "Block Storage", "Object
- Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium
- Plans"], "status": "ok", "resolvers": {"ipv4": "172.232.192.19, 172.232.192.18,
- 172.232.192.16, 172.232.192.20, 172.232.192.24, 172.232.192.21, 172.232.192.22,
- 172.232.192.17, 172.232.192.15, 172.232.192.23", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"}},
- {"id": "us-mia", "label": "Miami, FL", "country": "us", "capabilities": ["Linodes",
- "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34, 172.233.160.27, 172.233.160.30, 172.233.160.29, 172.233.160.32,
- 172.233.160.28, 172.233.160.33, 172.233.160.26, 172.233.160.25, 172.233.160.31",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}}, {"id": "id-cgk", "label": "Jakarta, ID",
- "country": "id", "capabilities": ["Linodes", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.232.224.23, 172.232.224.32,
- 172.232.224.26, 172.232.224.27, 172.232.224.21, 172.232.224.24, 172.232.224.22,
- 172.232.224.20, 172.232.224.31, 172.232.224.28", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"}},
- {"id": "us-lax", "label": "Los Angeles, CA", "country": "us", "capabilities":
- ["Linodes", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok",
- "resolvers": {"ipv4": "172.233.128.45, 172.233.128.38, 172.233.128.53, 172.233.128.37,
- 172.233.128.34, 172.233.128.36, 172.233.128.33, 172.233.128.39, 172.233.128.43,
- 172.233.128.44", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "NodeBalancers",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases"], "status": "ok", "resolvers": {"ipv4": "72.14.179.5, 72.14.188.5,
- 173.255.199.5, 66.228.53.5, 96.126.122.5, 96.126.124.5, 96.126.127.5, 198.58.107.5,
- 198.58.111.5, 23.239.24.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}}, {"id": "us-west", "label": "Fremont, CA", "country": "us",
- "capabilities": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes",
- "Cloud Firewall", "Block Storage Migrations", "Managed Databases"], "status":
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
"ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
"ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}}, {"id":
- "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases"],
- "status": "ok", "resolvers": {"ipv4": "74.207.231.5, 173.230.128.5, 173.230.129.5,
- 173.230.136.5, 173.230.140.5, 66.228.59.5, 66.228.62.5, 50.116.35.5, 50.116.41.5,
- 23.239.18.5", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}},
- {"id": "us-east", "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Bare Metal", "Vlans", "Block Storage Migrations", "Managed
- Databases"], "status": "ok", "resolvers": {"ipv4": "66.228.42.5, 96.126.106.5,
- 50.116.53.5, 50.116.58.5, 50.116.61.5, 50.116.62.5, 66.175.211.5, 97.107.133.4,
- 207.192.69.4, 207.192.69.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}}, {"id": "eu-west", "label": "London, UK", "country": "gb", "capabilities":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases"], "status": "ok", "resolvers":
- {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}},
- {"id": "ap-south", "label": "Singapore, SG", "country": "sg", "capabilities":
- ["Linodes", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases"], "status": "ok", "resolvers": {"ipv4": "139.162.11.5, 139.162.13.5,
- 139.162.14.5, 139.162.15.5, 139.162.16.5, 139.162.21.5, 139.162.27.5, 103.3.60.18,
- 103.3.60.19, 103.3.60.20", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}}, {"id": "eu-central", "label": "Frankfurt, DE", "country": "de",
- "capabilities": ["Linodes", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases"], "status": "ok", "resolvers": {"ipv4": "139.162.130.5,
- 139.162.131.5, 139.162.132.5, 139.162.133.5, 139.162.134.5, 139.162.135.5, 139.162.136.5,
- 139.162.137.5, 139.162.138.5, 139.162.139.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}}, {"id": "ap-northeast", "label": "Tokyo, JP",
- "country": "jp", "capabilities": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Block Storage Migrations", "Managed Databases"],
- "status": "ok", "resolvers": {"ipv4": "139.162.66.5, 139.162.67.5, 139.162.68.5,
- 139.162.69.5, 139.162.70.5, 139.162.71.5, 139.162.72.5, 139.162.73.5, 139.162.74.5,
- 139.162.75.5", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}}],
- "page": 1, "pages": 1, "results": 25}'
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 47}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -213,6 +468,8 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
@@ -222,7 +479,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:04 GMT
+ - Wed, 20 May 2026 18:36:31 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -241,14 +498,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"region":"ap-west","type":"g6-nanode-1","label":"go-ins-poll-test","booted":false}'
+ body: '{"region":"au-mel","type":"g6-nanode-1","label":"go-ins-poll-test","booted":false}'
form: {}
headers:
Accept:
@@ -260,15 +517,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 53282734, "label": "go-ins-poll-test", "group": "", "status": "provisioning",
+ body: '{"id": 97900566, "label": "go-ins-poll-test", "group": "", "status": "provisioning",
"created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type":
- "g6-nanode-1", "ipv4": ["45.79.123.17"], "ipv6": "1234::5678/128",
- "image": null, "region": "ap-west", "specs": {"disk": 25600, "memory": 1024,
- "vcpus": 1, "gpus": 0, "transfer": 1000}, "alerts": {"cpu": 90, "network_in":
- 10, "network_out": 10, "transfer_quota": 80, "io": 10000}, "backups": {"enabled":
+ "g6-nanode-1", "ipv4": ["172.236.51.176"], "ipv6": "1234::5678/128",
+ "image": null, "region": "au-mel", "site_type": "core", "specs": {"disk": 25600,
+ "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
- "926f6f61bf1247b3667bd94b88cd5ac7c8d33901", "has_user_data": false}'
+ "288e63c85b047d1cb41106d47e6898933356966a", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -280,24 +541,25 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
- Content-Length:
- - "720"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:04 GMT
+ - Wed, 20 May 2026 18:36:32 GMT
Pragma:
- no-cache
Strict-Transport-Security:
- max-age=31536000
Vary:
- Authorization, X-Filter
+ - Accept-Encoding
X-Accepted-Oauth-Scopes:
- linodes:read_write
X-Content-Type-Options:
@@ -308,7 +570,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "10"
+ - "20"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -325,16 +587,16 @@ interactions:
User-Agent:
- linodego/dev https://github.com/linode/linodego
X-Filter:
- - '{"+order":"desc","+order_by":"created","action":"linode_create","entity.id":53282734,"entity.type":"linode"}'
+ - '{"+order":"desc","+order_by":"created","action":"linode_create","entity.id":97900566,"entity.type":"linode"}'
url: https://api.linode.com/v4beta/account/events?page=1
method: GET
response:
- body: '{"data": [{"id": 615701235, "created": "2018-01-02T03:04:05", "seen": false,
- "read": false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration":
- 14.0, "action": "linode_create", "username": "lgarber-dev", "entity": {"label":
- "go-ins-poll-test", "id": 53282734, "type": "linode", "url": "/v4/linode/instances/53282734"},
- "status": "finished", "secondary_entity": null, "message": ""}], "page": 1,
- "pages": 1, "results": 1}'
+ body: '{"data": [{"id": 1586399760, "created": "2018-01-02T03:04:05", "seen":
+ false, "read": false, "percent_complete": 100, "time_remaining": null, "rate":
+ null, "duration": 8.0, "action": "linode_create", "username": "zliang27", "entity":
+ {"label": "go-ins-poll-test", "id": 97900566, "type": "linode", "url": "/v4/linode/instances/97900566"},
+ "status": "finished", "secondary_entity": null, "message": "", "details": {}}],
+ "page": 1, "pages": 1, "results": 1}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -346,18 +608,20 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
Content-Length:
- - "440"
+ - "455"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:19 GMT
+ - Wed, 20 May 2026 18:36:47 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -375,7 +639,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -391,14 +655,14 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/account/events/615701235
+ url: https://api.linode.com/v4beta/account/events/1586399760
method: GET
response:
- body: '{"id": 615701235, "created": "2018-01-02T03:04:05", "seen": false, "read":
- false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration":
- 14.0, "action": "linode_create", "username": "lgarber-dev", "entity": {"label":
- "go-ins-poll-test", "id": 53282734, "type": "linode", "url": "/v4/linode/instances/53282734"},
- "status": "finished", "secondary_entity": null, "message": ""}'
+ body: '{"id": 1586399760, "created": "2018-01-02T03:04:05", "seen": false, "read":
+ false, "percent_complete": 100, "time_remaining": null, "rate": null, "duration":
+ 8.0, "action": "linode_create", "username": "zliang27", "entity": {"label":
+ "go-ins-poll-test", "id": 97900566, "type": "linode", "url": "/v4/linode/instances/97900566"},
+ "status": "finished", "secondary_entity": null, "message": "", "details": {}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -410,18 +674,20 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
Content-Length:
- - "391"
+ - "406"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:19 GMT
+ - Wed, 20 May 2026 18:36:47 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -439,14 +705,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"deleteEvent-0","size":512}'
+ body: '{"label":"test-disk-0","size":512}'
form: {}
headers:
Accept:
@@ -455,12 +721,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/53282734/disks
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks
method: POST
response:
- body: '{"id": 105633086, "status": "not ready", "label": "deleteEvent-0", "created":
+ body: '{"id": 184471993, "status": "not ready", "label": "test-disk-0", "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4",
- "size": 512}'
+ "size": 512, "disk_encryption": "enabled"}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -472,18 +738,20 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
Content-Length:
- - "169"
+ - "197"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:19 GMT
+ - Wed, 20 May 2026 18:36:48 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -500,14 +768,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"deleteEvent-1","size":512}'
+ body: '{"label":"test-disk-1","size":512}'
form: {}
headers:
Accept:
@@ -516,7 +784,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/53282734/disks
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks
method: POST
response:
body: '{"errors": [{"reason": "Linode busy."}]}'
@@ -527,6 +795,8 @@ interactions:
- HEAD, GET, OPTIONS, POST, PUT, DELETE
Access-Control-Allow-Origin:
- '*'
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Content-Length:
@@ -534,9 +804,11 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:20 GMT
+ - Wed, 20 May 2026 18:36:48 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
X-Accepted-Oauth-Scopes:
- linodes:read_write
X-Frame-Options:
@@ -544,12 +816,12 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
status: 400 Bad Request
code: 400
duration: ""
- request:
- body: '{"label":"deleteEvent-1","size":512}'
+ body: '{"label":"test-disk-1","size":512}'
form: {}
headers:
Accept:
@@ -558,7 +830,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/53282734/disks
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks
method: POST
response:
body: '{"errors": [{"reason": "Linode busy."}]}'
@@ -569,6 +841,8 @@ interactions:
- HEAD, GET, OPTIONS, POST, PUT, DELETE
Access-Control-Allow-Origin:
- '*'
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Content-Length:
@@ -576,9 +850,11 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:23 GMT
+ - Wed, 20 May 2026 18:36:51 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
X-Accepted-Oauth-Scopes:
- linodes:read_write
X-Frame-Options:
@@ -586,12 +862,12 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
status: 400 Bad Request
code: 400
duration: ""
- request:
- body: '{"label":"deleteEvent-1","size":512}'
+ body: '{"label":"test-disk-1","size":512}'
form: {}
headers:
Accept:
@@ -600,12 +876,104 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/53282734/disks
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks
method: POST
response:
- body: '{"id": 105633090, "status": "not ready", "label": "deleteEvent-1", "created":
+ body: '{"errors": [{"reason": "Linode busy."}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Content-Length:
+ - "40"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 20 May 2026 18:36:54 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - linodes:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 400 Bad Request
+ code: 400
+ duration: ""
+- request:
+ body: '{"label":"test-disk-1","size":512}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks
+ method: POST
+ response:
+ body: '{"errors": [{"reason": "Linode busy."}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Content-Length:
+ - "40"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 20 May 2026 18:36:57 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - linodes:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 400 Bad Request
+ code: 400
+ duration: ""
+- request:
+ body: '{"label":"test-disk-1","size":512}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks
+ method: POST
+ response:
+ body: '{"id": 184471998, "status": "not ready", "label": "test-disk-1", "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4",
- "size": 512}'
+ "size": 512, "disk_encryption": "enabled"}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -617,18 +985,20 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
Content-Length:
- - "169"
+ - "197"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:27 GMT
+ - Wed, 20 May 2026 18:37:01 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -645,7 +1015,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -662,7 +1032,7 @@ interactions:
User-Agent:
- linodego/dev https://github.com/linode/linodego
X-Filter:
- - '{"+order":"desc","+order_by":"created","action":"disk_delete","entity.id":53282734,"entity.type":"linode"}'
+ - '{"+order":"desc","+order_by":"created","action":"disk_delete","entity.id":97900566,"entity.type":"linode"}'
url: https://api.linode.com/v4beta/account/events?page=1
method: GET
response:
@@ -678,6 +1048,8 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
@@ -689,7 +1061,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:27 GMT
+ - Wed, 20 May 2026 18:37:01 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -707,7 +1079,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -724,7 +1096,7 @@ interactions:
User-Agent:
- linodego/dev https://github.com/linode/linodego
X-Filter:
- - '{"+order":"desc","+order_by":"created","action":"disk_delete","entity.id":53282734,"entity.type":"linode"}'
+ - '{"+order":"desc","+order_by":"created","action":"disk_delete","entity.id":97900566,"entity.type":"linode"}'
url: https://api.linode.com/v4beta/account/events?page=1
method: GET
response:
@@ -740,6 +1112,8 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
@@ -751,7 +1125,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:27 GMT
+ - Wed, 20 May 2026 18:37:01 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -769,7 +1143,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -785,7 +1159,103 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/53282734/disks/105633086
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks/184471993
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Linode busy."}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "40"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 20 May 2026 18:37:01 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - linodes:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 400 Bad Request
+ code: 400
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks/184471993
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Linode busy."}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "40"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 20 May 2026 18:37:04 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - linodes:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 400 Bad Request
+ code: 400
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks/184471993
method: DELETE
response:
body: '{"errors": [{"reason": "Linode busy."}]}'
@@ -796,6 +1266,8 @@ interactions:
- HEAD, GET, OPTIONS, POST, PUT, DELETE
Access-Control-Allow-Origin:
- '*'
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
@@ -805,9 +1277,11 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:27 GMT
+ - Wed, 20 May 2026 18:37:07 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
X-Accepted-Oauth-Scopes:
- linodes:read_write
X-Frame-Options:
@@ -815,7 +1289,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
status: 400 Bad Request
code: 400
duration: ""
@@ -829,7 +1303,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/53282734/disks/105633086
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks/184471993
method: DELETE
response:
body: '{"errors": [{"reason": "Linode busy."}]}'
@@ -840,6 +1314,8 @@ interactions:
- HEAD, GET, OPTIONS, POST, PUT, DELETE
Access-Control-Allow-Origin:
- '*'
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
@@ -849,9 +1325,11 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:30 GMT
+ - Wed, 20 May 2026 18:37:10 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
X-Accepted-Oauth-Scopes:
- linodes:read_write
X-Frame-Options:
@@ -859,7 +1337,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
status: 400 Bad Request
code: 400
duration: ""
@@ -873,7 +1351,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/53282734/disks/105633086
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks/184471993
method: DELETE
response:
body: '{"errors": [{"reason": "Linode busy."}]}'
@@ -884,6 +1362,8 @@ interactions:
- HEAD, GET, OPTIONS, POST, PUT, DELETE
Access-Control-Allow-Origin:
- '*'
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
@@ -893,9 +1373,11 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:34 GMT
+ - Wed, 20 May 2026 18:37:13 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
X-Accepted-Oauth-Scopes:
- linodes:read_write
X-Frame-Options:
@@ -903,7 +1385,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
status: 400 Bad Request
code: 400
duration: ""
@@ -917,7 +1399,55 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/53282734/disks/105633086
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks/184471993
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Linode busy."}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "40"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 20 May 2026 18:37:17 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - linodes:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 400 Bad Request
+ code: 400
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks/184471993
method: DELETE
response:
body: '{}'
@@ -932,6 +1462,8 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
@@ -943,7 +1475,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:41 GMT
+ - Wed, 20 May 2026 18:37:20 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -960,7 +1492,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -976,7 +1508,55 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/53282734/disks/105633090
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks/184471998
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Linode busy."}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "40"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 20 May 2026 18:37:20 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - linodes:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 400 Bad Request
+ code: 400
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks/184471998
method: DELETE
response:
body: '{"errors": [{"reason": "Linode busy."}]}'
@@ -987,6 +1567,8 @@ interactions:
- HEAD, GET, OPTIONS, POST, PUT, DELETE
Access-Control-Allow-Origin:
- '*'
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
@@ -996,9 +1578,11 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:41 GMT
+ - Wed, 20 May 2026 18:37:23 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
X-Accepted-Oauth-Scopes:
- linodes:read_write
X-Frame-Options:
@@ -1006,7 +1590,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
status: 400 Bad Request
code: 400
duration: ""
@@ -1020,7 +1604,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/53282734/disks/105633090
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks/184471998
method: DELETE
response:
body: '{"errors": [{"reason": "Linode busy."}]}'
@@ -1031,6 +1615,8 @@ interactions:
- HEAD, GET, OPTIONS, POST, PUT, DELETE
Access-Control-Allow-Origin:
- '*'
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
@@ -1040,9 +1626,11 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:44 GMT
+ - Wed, 20 May 2026 18:37:26 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
X-Accepted-Oauth-Scopes:
- linodes:read_write
X-Frame-Options:
@@ -1050,7 +1638,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
status: 400 Bad Request
code: 400
duration: ""
@@ -1064,7 +1652,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/53282734/disks/105633090
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks/184471998
method: DELETE
response:
body: '{"errors": [{"reason": "Linode busy."}]}'
@@ -1075,6 +1663,8 @@ interactions:
- HEAD, GET, OPTIONS, POST, PUT, DELETE
Access-Control-Allow-Origin:
- '*'
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
@@ -1084,9 +1674,11 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:49 GMT
+ - Wed, 20 May 2026 18:37:29 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
X-Accepted-Oauth-Scopes:
- linodes:read_write
X-Frame-Options:
@@ -1094,7 +1686,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
status: 400 Bad Request
code: 400
duration: ""
@@ -1108,7 +1700,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/53282734/disks/105633090
+ url: https://api.linode.com/v4beta/linode/instances/97900566/disks/184471998
method: DELETE
response:
body: '{}'
@@ -1123,6 +1715,8 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
@@ -1134,7 +1728,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:08:59 GMT
+ - Wed, 20 May 2026 18:37:32 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1151,7 +1745,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -1168,23 +1762,23 @@ interactions:
User-Agent:
- linodego/dev https://github.com/linode/linodego
X-Filter:
- - '{"+order":"desc","+order_by":"created","action":"disk_delete","entity.id":53282734,"entity.type":"linode"}'
+ - '{"+order":"desc","+order_by":"created","action":"disk_delete","entity.id":97900566,"entity.type":"linode"}'
url: https://api.linode.com/v4beta/account/events?page=1
method: GET
response:
- body: '{"data": [{"id": 615701642, "created": "2018-01-02T03:04:05", "seen": false,
- "read": false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration":
- 12.0, "action": "disk_delete", "username": "lgarber-dev", "entity": {"label":
- "go-ins-poll-test", "id": 53282734, "type": "linode", "url": "/v4/linode/instances/53282734"},
- "status": "finished", "secondary_entity": {"id": 105633090, "type": "disk",
- "label": "deleteEvent-1", "url": "/v4/linode/instances/53282734/disks/105633090"},
- "message": ""}, {"id": 615701539, "created": "2018-01-02T03:04:05", "seen":
- false, "read": false, "percent_complete": 100, "time_remaining": 0, "rate":
- null, "duration": 13.0, "action": "disk_delete", "username": "lgarber-dev",
- "entity": {"label": "go-ins-poll-test", "id": 53282734, "type": "linode", "url":
- "/v4/linode/instances/53282734"}, "status": "finished", "secondary_entity":
- {"id": 105633086, "type": "disk", "label": "deleteEvent-0", "url": "/v4/linode/instances/53282734/disks/105633086"},
- "message": ""}], "page": 1, "pages": 1, "results": 2}'
+ body: '{"data": [{"id": 1586400154, "created": "2018-01-02T03:04:05", "seen":
+ false, "read": false, "percent_complete": 100, "time_remaining": null, "rate":
+ null, "duration": 7.0, "action": "disk_delete", "username": "zliang27", "entity":
+ {"label": "go-ins-poll-test", "id": 97900566, "type": "linode", "url": "/v4/linode/instances/97900566"},
+ "status": "finished", "secondary_entity": {"id": 184471998, "type": "disk",
+ "label": "test-disk-1", "url": "/v4/linode/instances/97900566/disks/184471998"},
+ "message": "", "details": {}}, {"id": 1586400079, "created": "2018-01-02T03:04:05",
+ "seen": false, "read": false, "percent_complete": 100, "time_remaining": null,
+ "rate": null, "duration": 11.0, "action": "disk_delete", "username": "zliang27",
+ "entity": {"label": "go-ins-poll-test", "id": 97900566, "type": "linode", "url":
+ "/v4/linode/instances/97900566"}, "status": "finished", "secondary_entity":
+ {"id": 184471993, "type": "disk", "label": "test-disk-0", "url": "/v4/linode/instances/97900566/disks/184471993"},
+ "message": "", "details": {}}], "page": 1, "pages": 1, "results": 2}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -1196,6 +1790,8 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
@@ -1205,7 +1801,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:09:14 GMT
+ - Wed, 20 May 2026 18:37:48 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1224,7 +1820,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -1240,16 +1836,16 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/account/events/615701539
+ url: https://api.linode.com/v4beta/account/events/1586400079
method: GET
response:
- body: '{"id": 615701539, "created": "2018-01-02T03:04:05", "seen": false, "read":
- false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration":
- 13.0, "action": "disk_delete", "username": "lgarber-dev", "entity": {"label":
- "go-ins-poll-test", "id": 53282734, "type": "linode", "url": "/v4/linode/instances/53282734"},
- "status": "finished", "secondary_entity": {"id": 105633086, "type": "disk",
- "label": "deleteEvent-0", "url": "/v4/linode/instances/53282734/disks/105633086"},
- "message": ""}'
+ body: '{"id": 1586400079, "created": "2018-01-02T03:04:05", "seen": false, "read":
+ false, "percent_complete": 100, "time_remaining": null, "rate": null, "duration":
+ 11.0, "action": "disk_delete", "username": "zliang27", "entity": {"label": "go-ins-poll-test",
+ "id": 97900566, "type": "linode", "url": "/v4/linode/instances/97900566"}, "status":
+ "finished", "secondary_entity": {"id": 184471993, "type": "disk", "label": "test-disk-0",
+ "url": "/v4/linode/instances/97900566/disks/184471993"}, "message": "", "details":
+ {}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -1261,18 +1857,20 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
Content-Length:
- - "500"
+ - "514"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:09:14 GMT
+ - Wed, 20 May 2026 18:37:48 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1290,7 +1888,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -1307,23 +1905,23 @@ interactions:
User-Agent:
- linodego/dev https://github.com/linode/linodego
X-Filter:
- - '{"+order":"desc","+order_by":"created","action":"disk_delete","entity.id":53282734,"entity.type":"linode"}'
+ - '{"+order":"desc","+order_by":"created","action":"disk_delete","entity.id":97900566,"entity.type":"linode"}'
url: https://api.linode.com/v4beta/account/events?page=1
method: GET
response:
- body: '{"data": [{"id": 615701642, "created": "2018-01-02T03:04:05", "seen": false,
- "read": false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration":
- 12.0, "action": "disk_delete", "username": "lgarber-dev", "entity": {"label":
- "go-ins-poll-test", "id": 53282734, "type": "linode", "url": "/v4/linode/instances/53282734"},
- "status": "finished", "secondary_entity": {"id": 105633090, "type": "disk",
- "label": "deleteEvent-1", "url": "/v4/linode/instances/53282734/disks/105633090"},
- "message": ""}, {"id": 615701539, "created": "2018-01-02T03:04:05", "seen":
- false, "read": false, "percent_complete": 100, "time_remaining": 0, "rate":
- null, "duration": 13.0, "action": "disk_delete", "username": "lgarber-dev",
- "entity": {"label": "go-ins-poll-test", "id": 53282734, "type": "linode", "url":
- "/v4/linode/instances/53282734"}, "status": "finished", "secondary_entity":
- {"id": 105633086, "type": "disk", "label": "deleteEvent-0", "url": "/v4/linode/instances/53282734/disks/105633086"},
- "message": ""}], "page": 1, "pages": 1, "results": 2}'
+ body: '{"data": [{"id": 1586400154, "created": "2018-01-02T03:04:05", "seen":
+ false, "read": false, "percent_complete": 100, "time_remaining": null, "rate":
+ null, "duration": 7.0, "action": "disk_delete", "username": "zliang27", "entity":
+ {"label": "go-ins-poll-test", "id": 97900566, "type": "linode", "url": "/v4/linode/instances/97900566"},
+ "status": "finished", "secondary_entity": {"id": 184471998, "type": "disk",
+ "label": "test-disk-1", "url": "/v4/linode/instances/97900566/disks/184471998"},
+ "message": "", "details": {}}, {"id": 1586400079, "created": "2018-01-02T03:04:05",
+ "seen": false, "read": false, "percent_complete": 100, "time_remaining": null,
+ "rate": null, "duration": 11.0, "action": "disk_delete", "username": "zliang27",
+ "entity": {"label": "go-ins-poll-test", "id": 97900566, "type": "linode", "url":
+ "/v4/linode/instances/97900566"}, "status": "finished", "secondary_entity":
+ {"id": 184471993, "type": "disk", "label": "test-disk-0", "url": "/v4/linode/instances/97900566/disks/184471993"},
+ "message": "", "details": {}}], "page": 1, "pages": 1, "results": 2}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -1335,6 +1933,8 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
@@ -1344,7 +1944,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:09:29 GMT
+ - Wed, 20 May 2026 18:38:03 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1363,7 +1963,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -1379,16 +1979,16 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/account/events/615701642
+ url: https://api.linode.com/v4beta/account/events/1586400154
method: GET
response:
- body: '{"id": 615701642, "created": "2018-01-02T03:04:05", "seen": false, "read":
- false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration":
- 12.0, "action": "disk_delete", "username": "lgarber-dev", "entity": {"label":
- "go-ins-poll-test", "id": 53282734, "type": "linode", "url": "/v4/linode/instances/53282734"},
- "status": "finished", "secondary_entity": {"id": 105633090, "type": "disk",
- "label": "deleteEvent-1", "url": "/v4/linode/instances/53282734/disks/105633090"},
- "message": ""}'
+ body: '{"id": 1586400154, "created": "2018-01-02T03:04:05", "seen": false, "read":
+ false, "percent_complete": 100, "time_remaining": null, "rate": null, "duration":
+ 7.0, "action": "disk_delete", "username": "zliang27", "entity": {"label": "go-ins-poll-test",
+ "id": 97900566, "type": "linode", "url": "/v4/linode/instances/97900566"}, "status":
+ "finished", "secondary_entity": {"id": 184471998, "type": "disk", "label": "test-disk-1",
+ "url": "/v4/linode/instances/97900566/disks/184471998"}, "message": "", "details":
+ {}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -1400,18 +2000,20 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
Content-Length:
- - "500"
+ - "513"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:09:29 GMT
+ - Wed, 20 May 2026 18:38:03 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1429,7 +2031,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -1445,7 +2047,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/53282734
+ url: https://api.linode.com/v4beta/linode/instances/97900566
method: DELETE
response:
body: '{}'
@@ -1460,6 +2062,8 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
@@ -1471,7 +2075,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 20 Dec 2023 22:09:29 GMT
+ - Wed, 20 May 2026 18:38:03 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1488,7 +2092,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestFirewallDevice_Delete.yaml b/test/integration/fixtures/TestFirewallDevice_Delete.yaml
index 80debbdca..b74565fba 100644
--- a/test/integration/fixtures/TestFirewallDevice_Delete.yaml
+++ b/test/integration/fixtures/TestFirewallDevice_Delete.yaml
@@ -30,74 +30,75 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
- T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nz-akl-1",
"label": "Auckland, NZ", "country": "nz", "capabilities": ["Linodes", "Disk
- Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans",
- "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"us-den-1", "label": "Denver, CO", "country": "us", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"de-ham-1", "label": "Hamburg, DE", "country": "de", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"za-jnb-1", "label": "Johannesburg, ZA", "country": "za", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"my-kul-1", "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"co-bog-1", "label": "Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"mx-qro-1", "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities":
- ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Distributed Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0, "maximum_linodes_per_flexible_pg": 0}, "site_type":
- "distributed"}, {"id": "us-hou-1", "label": "Houston, TX", "country": "us",
- "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs",
- "Metadata", "Distributed Plans", "Maintenance Policy"], "monitors": {"alerts":
- [], "metrics": []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0, "maximum_linodes_per_flexible_pg": 0}, "site_type":
- "distributed"}, {"id": "cl-scl-1", "label": "Santiago, CL", "country": "cl",
- "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs",
- "Metadata", "Distributed Plans", "Maintenance Policy"], "monitors": {"alerts":
- [], "metrics": []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0, "maximum_linodes_per_flexible_pg": 0}, "site_type":
- "distributed"}, {"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
- ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC
- Dual Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases",
- "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed
+ Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-hou-1", "label": "Houston, TX", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "cl-scl-1", "label": "Santiago, CL", "country": "cl", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
@@ -106,20 +107,20 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
@@ -128,9 +129,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
- T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
@@ -139,9 +140,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
@@ -150,25 +151,26 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-ber-1",
"label": "Berlin, DE", "country": "de", "capabilities": ["Linodes", "Disk Encryption",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans", "Maintenance
- Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance Policy"],
+ "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4":
+ "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"no-osl-1", "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes",
"Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block
Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall",
"Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
- Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
@@ -177,30 +179,37 @@ interactions:
"Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
"VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
"Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases",
- "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
"label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-rno-1",
+ "label": "Reno, NV", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
+ "Backups", "NodeBalancers", "GPU Linodes", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "", "ipv6":
+ ""}, "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "co-bog-2",
"label": "Bogot\u00e1 2, CO", "country": "co", "capabilities": ["Linodes", "Disk
- Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans",
- "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"fr-mrs-2", "label": "Marseille 2, FR", "country": "fr", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
@@ -210,8 +219,8 @@ interactions:
"Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
"Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
"NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
@@ -220,8 +229,8 @@ interactions:
"Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
@@ -230,8 +239,8 @@ interactions:
"Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
@@ -250,9 +259,9 @@ interactions:
"Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
"Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
@@ -261,9 +270,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
@@ -272,9 +281,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
@@ -283,9 +292,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
@@ -294,8 +303,9 @@ interactions:
"Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
"Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
@@ -304,9 +314,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
@@ -315,9 +325,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
@@ -326,9 +336,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
@@ -338,8 +348,8 @@ interactions:
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
@@ -348,9 +358,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
@@ -359,9 +369,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
@@ -369,9 +379,9 @@ interactions:
Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
@@ -379,9 +389,9 @@ interactions:
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
@@ -390,8 +400,8 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
@@ -399,8 +409,8 @@ interactions:
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
@@ -408,20 +418,20 @@ interactions:
Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": ["NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
@@ -430,8 +440,8 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
@@ -439,14 +449,14 @@ interactions:
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
- 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
- "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
{"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 46}'
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 47}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -469,7 +479,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:51:20 GMT
+ - Tue, 05 May 2026 23:45:19 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -495,134 +505,7 @@ interactions:
code: 200
duration: ""
- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/account/availability?page=1
- method: GET
- response:
- body: '{"data": [{"region": "us-central", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "us-west", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-southeast", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "us-east", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "eu-west", "available": [], "unavailable": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "ap-south", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "eu-central", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "ap-northeast", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "ap-west", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "ca-central", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "ap-southeast", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-iad", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "us-ord", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "fr-par", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "us-sea", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "br-gru", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "nl-ams", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "se-sto", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "es-mad", "available": ["Linodes", "Kubernetes"], "unavailable": ["NodeBalancers",
- "Block Storage"]}, {"region": "in-maa", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "jp-osa", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "it-mil", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "us-mia", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "id-cgk", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "us-lax", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "nz-akl-1", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-den-1", "available": ["Linodes"], "unavailable": ["NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "de-ham-1", "available": ["Linodes"],
- "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region":
- "za-jnb-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block
- Storage", "Kubernetes"]}, {"region": "my-kul-1", "available": ["Linodes"], "unavailable":
- ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region": "co-bog-1", "available":
- ["Linodes"], "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]},
- {"region": "mx-qro-1", "available": ["Linodes"], "unavailable": ["NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "us-hou-1", "available": ["Linodes"],
- "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region":
- "cl-scl-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block
- Storage", "Kubernetes"]}, {"region": "gb-lon", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "au-mel", "available":
- ["Linodes", "Kubernetes"], "unavailable": ["NodeBalancers", "Block Storage"]},
- {"region": "in-bom-2", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "de-fra-2", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "sg-sin-2", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "jp-tyo-3", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "de-ber-1", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "no-osl-1", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "us-iad-2", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "fr-par-2", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "co-bog-2", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "fr-mrs-2", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}], "page": 1, "pages": 1, "results":
- 46}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 04 Mar 2026 22:51:20 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- - Accept-Encoding
- X-Accepted-Oauth-Scopes:
- - account:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1840"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: '{"region":"au-mel","type":"g6-nanode-1","label":"go-test-ins-w9325gz70sqd","root_pass":"0J]6i895JaSqL]\\$d41J8b\u003e~(Tc!1?+yMRs{J!6NVxQm6tO8LbaJz78b)3@4\u003c,Lk","image":"linode/debian12","booted":false}'
+ body: '{"region":"au-mel","type":"g6-nanode-1","label":"go-test-ins-o2em4jg116a5","root_pass":"*?YGoH+''C''4FQ8:yOr@g]YV`p7pJHg59koA6O!^:Oi8Qr0u4[431@c88e)]c20aA","image":"linode/debian12","booted":false}'
form: {}
headers:
Accept:
@@ -634,19 +517,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 93152833, "label": "go-test-ins-w9325gz70sqd", "group": "", "status":
+ body: '{"id": 97185941, "label": "go-test-ins-o2em4jg116a5", "group": "", "status":
"provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["172.236.44.156"], "ipv6": "1234::5678/128",
+ "type": "g6-nanode-1", "ipv4": ["172.236.33.27"], "ipv6": "1234::5678/128",
"image": "linode/debian12", "region": "au-mel", "site_type": "core", "specs":
{"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "0f2b1b5738ceb6a8b0b9be46f010a4f34c762cce",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": ["Block Storage Encryption", "SMTP Enabled",
- "Maintenance Policy"], "interface_generation": "legacy_config", "maintenance_policy":
- "linode/migrate", "locks": []}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "288e63c85b047d1cb41106d47e6898933356966a", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -669,7 +552,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:51:23 GMT
+ - Tue, 05 May 2026 23:45:21 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -706,7 +589,7 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls
method: POST
response:
- body: '{"id": 3913131, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
+ body: '{"id": 9618630, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
[{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]},
"action": "ACCEPT", "label": "go-fwrule-test", "ports": "22"}], "inbound_policy":
@@ -738,7 +621,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:51:23 GMT
+ - Tue, 05 May 2026 23:45:21 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -762,7 +645,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"id":93152833,"type":"linode"}'
+ body: '{"id":97185941,"type":"linode"}'
form: {}
headers:
Accept:
@@ -771,12 +654,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3913131/devices
+ url: https://api.linode.com/v4beta/networking/firewalls/9618630/devices
method: POST
response:
- body: '{"id": 10483459, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "entity": {"id": 93152833, "type": "linode", "label": "go-test-ins-w9325gz70sqd",
- "url": "/v4/linode/instances/93152833", "parent_entity": null}}'
+ body: '{"id": 11909960, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
+ "entity": {"id": 97185941, "type": "linode", "label": "go-test-ins-o2em4jg116a5",
+ "url": "/v4/linode/instances/97185941", "parent_entity": null}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -801,7 +684,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:51:24 GMT
+ - Tue, 05 May 2026 23:45:21 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -834,7 +717,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3913131/devices/10483459
+ url: https://api.linode.com/v4beta/networking/firewalls/9618630/devices/11909960
method: DELETE
response:
body: '{}'
@@ -862,7 +745,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:51:24 GMT
+ - Tue, 05 May 2026 23:45:22 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -895,7 +778,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3913131/devices/10483459
+ url: https://api.linode.com/v4beta/networking/firewalls/9618630/devices/11909960
method: GET
response:
body: '{"errors": [{"reason": "Not found"}]}'
@@ -917,7 +800,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:51:24 GMT
+ - Tue, 05 May 2026 23:45:22 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -945,7 +828,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3913131
+ url: https://api.linode.com/v4beta/networking/firewalls/9618630
method: DELETE
response:
body: '{}'
@@ -973,7 +856,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:51:25 GMT
+ - Tue, 05 May 2026 23:45:22 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1006,7 +889,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/93152833
+ url: https://api.linode.com/v4beta/linode/instances/97185941
method: DELETE
response:
body: '{}'
@@ -1034,7 +917,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:51:25 GMT
+ - Tue, 05 May 2026 23:45:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestFirewallDevice_Get.yaml b/test/integration/fixtures/TestFirewallDevice_Get.yaml
index f697cc3d1..48adf7f03 100644
--- a/test/integration/fixtures/TestFirewallDevice_Get.yaml
+++ b/test/integration/fixtures/TestFirewallDevice_Get.yaml
@@ -30,74 +30,75 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
- T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nz-akl-1",
"label": "Auckland, NZ", "country": "nz", "capabilities": ["Linodes", "Disk
- Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans",
- "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"us-den-1", "label": "Denver, CO", "country": "us", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"de-ham-1", "label": "Hamburg, DE", "country": "de", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"za-jnb-1", "label": "Johannesburg, ZA", "country": "za", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"my-kul-1", "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"co-bog-1", "label": "Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"mx-qro-1", "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities":
- ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Distributed Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0, "maximum_linodes_per_flexible_pg": 0}, "site_type":
- "distributed"}, {"id": "us-hou-1", "label": "Houston, TX", "country": "us",
- "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs",
- "Metadata", "Distributed Plans", "Maintenance Policy"], "monitors": {"alerts":
- [], "metrics": []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0, "maximum_linodes_per_flexible_pg": 0}, "site_type":
- "distributed"}, {"id": "cl-scl-1", "label": "Santiago, CL", "country": "cl",
- "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs",
- "Metadata", "Distributed Plans", "Maintenance Policy"], "monitors": {"alerts":
- [], "metrics": []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0, "maximum_linodes_per_flexible_pg": 0}, "site_type":
- "distributed"}, {"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
- ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC
- Dual Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases",
- "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed
+ Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-hou-1", "label": "Houston, TX", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "cl-scl-1", "label": "Santiago, CL", "country": "cl", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
@@ -106,20 +107,20 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
@@ -128,9 +129,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
- T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
@@ -139,9 +140,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
@@ -150,25 +151,26 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-ber-1",
"label": "Berlin, DE", "country": "de", "capabilities": ["Linodes", "Disk Encryption",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans", "Maintenance
- Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance Policy"],
+ "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4":
+ "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"no-osl-1", "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes",
"Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block
Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall",
"Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
- Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
@@ -177,30 +179,37 @@ interactions:
"Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
"VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
"Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases",
- "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
"label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-rno-1",
+ "label": "Reno, NV", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
+ "Backups", "NodeBalancers", "GPU Linodes", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "", "ipv6":
+ ""}, "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "co-bog-2",
"label": "Bogot\u00e1 2, CO", "country": "co", "capabilities": ["Linodes", "Disk
- Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans",
- "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"fr-mrs-2", "label": "Marseille 2, FR", "country": "fr", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
@@ -210,8 +219,8 @@ interactions:
"Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
"Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
"NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
@@ -220,8 +229,8 @@ interactions:
"Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
@@ -230,8 +239,8 @@ interactions:
"Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
@@ -250,9 +259,9 @@ interactions:
"Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
"Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
@@ -261,9 +270,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
@@ -272,9 +281,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
@@ -283,9 +292,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
@@ -294,8 +303,9 @@ interactions:
"Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
"Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
@@ -304,9 +314,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
@@ -315,9 +325,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
@@ -326,9 +336,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
@@ -338,8 +348,8 @@ interactions:
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
@@ -348,9 +358,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
@@ -359,9 +369,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
@@ -369,9 +379,9 @@ interactions:
Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
@@ -379,9 +389,9 @@ interactions:
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
@@ -390,8 +400,8 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
@@ -399,8 +409,8 @@ interactions:
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
@@ -408,20 +418,20 @@ interactions:
Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": ["NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
@@ -430,8 +440,8 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
@@ -439,14 +449,14 @@ interactions:
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
- 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
- "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
{"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 46}'
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 47}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -469,7 +479,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:50:33 GMT
+ - Tue, 05 May 2026 23:45:15 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -495,134 +505,7 @@ interactions:
code: 200
duration: ""
- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/account/availability?page=1
- method: GET
- response:
- body: '{"data": [{"region": "us-central", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "us-west", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-southeast", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "us-east", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "eu-west", "available": [], "unavailable": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "ap-south", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "eu-central", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "ap-northeast", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "ap-west", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "ca-central", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "ap-southeast", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-iad", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "us-ord", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "fr-par", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "us-sea", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "br-gru", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "nl-ams", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "se-sto", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "es-mad", "available": ["Linodes", "Kubernetes"], "unavailable": ["NodeBalancers",
- "Block Storage"]}, {"region": "in-maa", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "jp-osa", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "it-mil", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "us-mia", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "id-cgk", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "us-lax", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "nz-akl-1", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-den-1", "available": ["Linodes"], "unavailable": ["NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "de-ham-1", "available": ["Linodes"],
- "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region":
- "za-jnb-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block
- Storage", "Kubernetes"]}, {"region": "my-kul-1", "available": ["Linodes"], "unavailable":
- ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region": "co-bog-1", "available":
- ["Linodes"], "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]},
- {"region": "mx-qro-1", "available": ["Linodes"], "unavailable": ["NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "us-hou-1", "available": ["Linodes"],
- "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region":
- "cl-scl-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block
- Storage", "Kubernetes"]}, {"region": "gb-lon", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "au-mel", "available":
- ["Linodes", "Kubernetes"], "unavailable": ["NodeBalancers", "Block Storage"]},
- {"region": "in-bom-2", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "de-fra-2", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "sg-sin-2", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "jp-tyo-3", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "de-ber-1", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "no-osl-1", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "us-iad-2", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "fr-par-2", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "co-bog-2", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "fr-mrs-2", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}], "page": 1, "pages": 1, "results":
- 46}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 04 Mar 2026 22:50:33 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- - Accept-Encoding
- X-Accepted-Oauth-Scopes:
- - account:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1840"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: '{"region":"au-mel","type":"g6-nanode-1","label":"go-test-ins-q27m167oya7q","root_pass":"1;N2vve+~7TsyXbvPJ60+J45mmmM09d,V5U.[j;(Qf+AeZNn7*7K5+D6M:8f|@`7","image":"linode/debian12","booted":false}'
+ body: '{"region":"au-mel","type":"g6-nanode-1","label":"go-test-ins-507phxdcj126","root_pass":"brgTP0601\u0026(X8?Ty687zxJD:)$Up|CwMf1''R8sa\u0026b}5`9UXg\u0026gWV8[|G\u003e9B''41ki","image":"linode/debian12","booted":false}'
form: {}
headers:
Accept:
@@ -634,19 +517,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 93152753, "label": "go-test-ins-q27m167oya7q", "group": "", "status":
+ body: '{"id": 97185937, "label": "go-test-ins-507phxdcj126", "group": "", "status":
"provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["172.236.44.156"], "ipv6": "1234::5678/128",
+ "type": "g6-nanode-1", "ipv4": ["172.236.33.27"], "ipv6": "1234::5678/128",
"image": "linode/debian12", "region": "au-mel", "site_type": "core", "specs":
{"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "e6fb7e51a1d7b36635dda16eb686150d00ac7289",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": ["Block Storage Encryption", "SMTP Enabled",
- "Maintenance Policy"], "interface_generation": "legacy_config", "maintenance_policy":
- "linode/migrate", "locks": []}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "7c21ff8b1596655206e1b4c6bc4f1c8ebd03c68c", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -669,7 +552,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:50:35 GMT
+ - Tue, 05 May 2026 23:45:17 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -706,7 +589,7 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls
method: POST
response:
- body: '{"id": 3913123, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
+ body: '{"id": 9618589, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
[{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]},
"action": "ACCEPT", "label": "go-fwrule-test", "ports": "22"}], "inbound_policy":
@@ -738,7 +621,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:50:35 GMT
+ - Tue, 05 May 2026 23:45:17 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -762,7 +645,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"id":93152753,"type":"linode"}'
+ body: '{"id":97185937,"type":"linode"}'
form: {}
headers:
Accept:
@@ -771,12 +654,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3913123/devices
+ url: https://api.linode.com/v4beta/networking/firewalls/9618589/devices
method: POST
response:
- body: '{"id": 10483434, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "entity": {"id": 93152753, "type": "linode", "label": "go-test-ins-q27m167oya7q",
- "url": "/v4/linode/instances/93152753", "parent_entity": null}}'
+ body: '{"id": 11909959, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
+ "entity": {"id": 97185937, "type": "linode", "label": "go-test-ins-507phxdcj126",
+ "url": "/v4/linode/instances/97185937", "parent_entity": null}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -801,7 +684,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:50:35 GMT
+ - Tue, 05 May 2026 23:45:17 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -834,12 +717,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3913123/devices/10483434
+ url: https://api.linode.com/v4beta/networking/firewalls/9618589/devices/11909959
method: GET
response:
- body: '{"id": 10483434, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "entity": {"id": 93152753, "type": "linode", "label": "go-test-ins-q27m167oya7q",
- "url": "/v4/linode/instances/93152753", "parent_entity": null}}'
+ body: '{"id": 11909959, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
+ "entity": {"id": 97185937, "type": "linode", "label": "go-test-ins-507phxdcj126",
+ "url": "/v4/linode/instances/97185937", "parent_entity": null}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -864,7 +747,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:50:36 GMT
+ - Tue, 05 May 2026 23:45:18 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -898,18 +781,18 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3913123
+ url: https://api.linode.com/v4beta/networking/firewalls/9618589
method: GET
response:
- body: '{"id": 3913123, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
+ body: '{"id": 9618589, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
[{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]},
"action": "ACCEPT", "label": "go-fwrule-test", "ports": "22"}], "inbound_policy":
"ACCEPT", "outbound": [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4":
["0.0.0.0/0"]}, "action": "ACCEPT", "label": "go-fwrule-test", "ports": "22"}],
"outbound_policy": "ACCEPT", "version": 1, "fingerprint": "7bcc0f03"}, "tags":
- ["testing"], "entities": [{"id": 93152753, "type": "linode", "label": "go-test-ins-q27m167oya7q",
- "url": "/v4/linode/instances/93152753", "parent_entity": null}]}'
+ ["testing"], "entities": [{"id": 97185937, "type": "linode", "label": "go-test-ins-507phxdcj126",
+ "url": "/v4/linode/instances/97185937", "parent_entity": null}]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -934,7 +817,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:50:36 GMT
+ - Tue, 05 May 2026 23:45:18 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -968,7 +851,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3913123
+ url: https://api.linode.com/v4beta/networking/firewalls/9618589
method: DELETE
response:
body: '{}'
@@ -996,7 +879,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:50:36 GMT
+ - Tue, 05 May 2026 23:45:18 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1029,7 +912,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/93152753
+ url: https://api.linode.com/v4beta/linode/instances/97185937
method: DELETE
response:
body: '{}'
@@ -1057,7 +940,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:50:37 GMT
+ - Tue, 05 May 2026 23:45:19 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestFirewallDevices_List.yaml b/test/integration/fixtures/TestFirewallDevices_List.yaml
index 5ce84fbf9..1e827c47d 100644
--- a/test/integration/fixtures/TestFirewallDevices_List.yaml
+++ b/test/integration/fixtures/TestFirewallDevices_List.yaml
@@ -30,74 +30,75 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
- T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nz-akl-1",
"label": "Auckland, NZ", "country": "nz", "capabilities": ["Linodes", "Disk
- Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans",
- "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"us-den-1", "label": "Denver, CO", "country": "us", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"de-ham-1", "label": "Hamburg, DE", "country": "de", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"za-jnb-1", "label": "Johannesburg, ZA", "country": "za", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"my-kul-1", "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"co-bog-1", "label": "Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"mx-qro-1", "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities":
- ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Distributed Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0, "maximum_linodes_per_flexible_pg": 0}, "site_type":
- "distributed"}, {"id": "us-hou-1", "label": "Houston, TX", "country": "us",
- "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs",
- "Metadata", "Distributed Plans", "Maintenance Policy"], "monitors": {"alerts":
- [], "metrics": []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0, "maximum_linodes_per_flexible_pg": 0}, "site_type":
- "distributed"}, {"id": "cl-scl-1", "label": "Santiago, CL", "country": "cl",
- "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs",
- "Metadata", "Distributed Plans", "Maintenance Policy"], "monitors": {"alerts":
- [], "metrics": []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0, "maximum_linodes_per_flexible_pg": 0}, "site_type":
- "distributed"}, {"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
- ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC
- Dual Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases",
- "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed
+ Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-hou-1", "label": "Houston, TX", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "cl-scl-1", "label": "Santiago, CL", "country": "cl", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
@@ -106,20 +107,20 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
@@ -128,9 +129,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
- T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
@@ -139,9 +140,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
@@ -150,25 +151,26 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-ber-1",
"label": "Berlin, DE", "country": "de", "capabilities": ["Linodes", "Disk Encryption",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans", "Maintenance
- Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance Policy"],
+ "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4":
+ "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"no-osl-1", "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes",
"Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block
Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall",
"Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
- Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
@@ -177,30 +179,37 @@ interactions:
"Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
"VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
"Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases",
- "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
"label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-rno-1",
+ "label": "Reno, NV", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
+ "Backups", "NodeBalancers", "GPU Linodes", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "", "ipv6":
+ ""}, "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "co-bog-2",
"label": "Bogot\u00e1 2, CO", "country": "co", "capabilities": ["Linodes", "Disk
- Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans",
- "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
"fr-mrs-2", "label": "Marseille 2, FR", "country": "fr", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
"ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
@@ -210,8 +219,8 @@ interactions:
"Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
"Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
"NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
@@ -220,8 +229,8 @@ interactions:
"Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
@@ -230,8 +239,8 @@ interactions:
"Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
@@ -250,9 +259,9 @@ interactions:
"Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
"Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
@@ -261,9 +270,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
@@ -272,9 +281,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
@@ -283,9 +292,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
@@ -294,8 +303,9 @@ interactions:
"Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
"Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
@@ -304,9 +314,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
@@ -315,9 +325,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
@@ -326,9 +336,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
@@ -338,8 +348,8 @@ interactions:
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
@@ -348,9 +358,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
@@ -359,9 +369,9 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
"Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
@@ -369,9 +379,9 @@ interactions:
Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
@@ -379,9 +389,9 @@ interactions:
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
@@ -390,8 +400,8 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
@@ -399,8 +409,8 @@ interactions:
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
@@ -408,20 +418,20 @@ interactions:
Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": ["NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
@@ -430,8 +440,8 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
@@ -439,14 +449,14 @@ interactions:
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
- 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
- "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
{"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 46}'
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 47}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -469,7 +479,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:49:45 GMT
+ - Tue, 05 May 2026 23:45:12 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -495,134 +505,7 @@ interactions:
code: 200
duration: ""
- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/account/availability?page=1
- method: GET
- response:
- body: '{"data": [{"region": "us-central", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "us-west", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-southeast", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "us-east", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "eu-west", "available": [], "unavailable": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "ap-south", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "eu-central", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "ap-northeast", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "ap-west", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "ca-central", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "ap-southeast", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-iad", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "us-ord", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "fr-par", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "us-sea", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "br-gru", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "nl-ams", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "se-sto", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "es-mad", "available": ["Linodes", "Kubernetes"], "unavailable": ["NodeBalancers",
- "Block Storage"]}, {"region": "in-maa", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "jp-osa", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "it-mil", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "us-mia", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "id-cgk", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "us-lax", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "nz-akl-1", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-den-1", "available": ["Linodes"], "unavailable": ["NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "de-ham-1", "available": ["Linodes"],
- "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region":
- "za-jnb-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block
- Storage", "Kubernetes"]}, {"region": "my-kul-1", "available": ["Linodes"], "unavailable":
- ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region": "co-bog-1", "available":
- ["Linodes"], "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]},
- {"region": "mx-qro-1", "available": ["Linodes"], "unavailable": ["NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "us-hou-1", "available": ["Linodes"],
- "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region":
- "cl-scl-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block
- Storage", "Kubernetes"]}, {"region": "gb-lon", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "au-mel", "available":
- ["Linodes", "Kubernetes"], "unavailable": ["NodeBalancers", "Block Storage"]},
- {"region": "in-bom-2", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "de-fra-2", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "sg-sin-2", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "jp-tyo-3", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "de-ber-1", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "no-osl-1", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "us-iad-2", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "fr-par-2", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "co-bog-2", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "fr-mrs-2", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}], "page": 1, "pages": 1, "results":
- 46}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 04 Mar 2026 22:49:45 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- - Accept-Encoding
- X-Accepted-Oauth-Scopes:
- - account:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1840"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: '{"region":"au-mel","type":"g6-nanode-1","label":"go-test-ins-lc0pul6h9485","root_pass":"c*y5+ugacvYby!|J\\mJ,5u\u00269^!#\u003e2p3m66VN!GAD*KYX)c58z1B09K6OS40s)E7!","image":"linode/debian12","booted":false}'
+ body: '{"region":"au-mel","type":"g6-nanode-1","label":"go-test-ins-ald015i102rx","root_pass":"P~0zuUbC8G22u1b{}SVlxa\u003e}7+mTmLZ}715y67W4F1`:a2r\u0026BU\u003cP''v9/OSq\u003e$t7~","image":"linode/debian12","booted":false}'
form: {}
headers:
Accept:
@@ -634,19 +517,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 93152714, "label": "go-test-ins-lc0pul6h9485", "group": "", "status":
+ body: '{"id": 97185936, "label": "go-test-ins-ald015i102rx", "group": "", "status":
"provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["172.236.44.156"], "ipv6": "1234::5678/128",
+ "type": "g6-nanode-1", "ipv4": ["172.236.33.27"], "ipv6": "1234::5678/128",
"image": "linode/debian12", "region": "au-mel", "site_type": "core", "specs":
{"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "e6fb7e51a1d7b36635dda16eb686150d00ac7289",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": ["Block Storage Encryption", "SMTP Enabled",
- "Maintenance Policy"], "interface_generation": "legacy_config", "maintenance_policy":
- "linode/migrate", "locks": []}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "6c9b57be39471d7888b736f623fe5527fd93c553", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -669,7 +552,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:49:47 GMT
+ - Tue, 05 May 2026 23:45:13 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -694,7 +577,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"linodego-fw-test","rules":{"inbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"inbound_policy":"ACCEPT","outbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"outbound_policy":"ACCEPT"},"tags":["testing"],"devices":{"linodes":[93152714]}}'
+ body: '{"label":"linodego-fw-test","rules":{"inbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"inbound_policy":"ACCEPT","outbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"outbound_policy":"ACCEPT"},"tags":["testing"],"devices":{"linodes":[97185936]}}'
form: {}
headers:
Accept:
@@ -706,15 +589,15 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls
method: POST
response:
- body: '{"id": 3913113, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
+ body: '{"id": 9618549, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
[{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]},
"action": "ACCEPT", "label": "go-fwrule-test", "ports": "22"}], "inbound_policy":
"ACCEPT", "outbound": [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4":
["0.0.0.0/0"]}, "action": "ACCEPT", "label": "go-fwrule-test", "ports": "22"}],
"outbound_policy": "ACCEPT", "version": 1, "fingerprint": "7bcc0f03"}, "tags":
- ["testing"], "entities": [{"id": 93152714, "type": "linode", "label": "go-test-ins-lc0pul6h9485",
- "url": "/v4/linode/instances/93152714", "parent_entity": null}]}'
+ ["testing"], "entities": [{"id": 97185936, "type": "linode", "label": "go-test-ins-ald015i102rx",
+ "url": "/v4/linode/instances/97185936", "parent_entity": null}]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -739,7 +622,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:49:48 GMT
+ - Tue, 05 May 2026 23:45:14 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -772,12 +655,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3913113/devices?page=1
+ url: https://api.linode.com/v4beta/networking/firewalls/9618549/devices?page=1
method: GET
response:
- body: '{"data": [{"id": 10483419, "created": "2018-01-02T03:04:05", "updated":
- "2018-01-02T03:04:05", "entity": {"id": 93152714, "type": "linode", "label":
- "go-test-ins-lc0pul6h9485", "url": "/v4/linode/instances/93152714", "parent_entity":
+ body: '{"data": [{"id": 11909957, "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05", "entity": {"id": 97185936, "type": "linode", "label":
+ "go-test-ins-ald015i102rx", "url": "/v4/linode/instances/97185936", "parent_entity":
null}}], "page": 1, "pages": 1, "results": 1}'
headers:
Access-Control-Allow-Credentials:
@@ -803,7 +686,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:49:48 GMT
+ - Tue, 05 May 2026 23:45:14 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -837,7 +720,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3913113
+ url: https://api.linode.com/v4beta/networking/firewalls/9618549
method: DELETE
response:
body: '{}'
@@ -865,7 +748,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:49:48 GMT
+ - Tue, 05 May 2026 23:45:14 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -898,7 +781,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/93152714
+ url: https://api.linode.com/v4beta/linode/instances/97185936
method: DELETE
response:
body: '{}'
@@ -926,7 +809,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 04 Mar 2026 22:49:48 GMT
+ - Tue, 05 May 2026 23:45:15 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestFirewallRuleSets_CRUD.yaml b/test/integration/fixtures/TestFirewallRuleSets_CRUD.yaml
index 2ed5bab0c..4ad963898 100644
--- a/test/integration/fixtures/TestFirewallRuleSets_CRUD.yaml
+++ b/test/integration/fixtures/TestFirewallRuleSets_CRUD.yaml
@@ -14,10 +14,11 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls/rulesets
method: POST
response:
- body: '{"id": 78, "version": 1, "label": "rs-51452000", "description": "Allow
+ body: '{"id": 76228, "version": 1, "label": "rs-51452000", "description": "Allow
inbound HTTP", "type": "inbound", "is_service_defined": false, "rules": [{"action":
"ACCEPT", "label": "allow-http", "ports": "80", "protocol": "TCP", "addresses":
- {"ipv4": ["0.0.0.0/0"]}}], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}'
+ {"ipv4": ["0.0.0.0/0"]}}], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
+ "deleted": null}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -36,13 +37,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "325"
+ - "349"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Mon, 13 Oct 2025 21:57:58 GMT
+ - Tue, 19 May 2026 19:46:09 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -75,13 +76,14 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/rulesets/78
+ url: https://api.linode.com/v4beta/networking/firewalls/rulesets/76228
method: GET
response:
- body: '{"id": 78, "version": 1, "label": "rs-51452000", "description": "Allow
+ body: '{"id": 76228, "version": 1, "label": "rs-51452000", "description": "Allow
inbound HTTP", "type": "inbound", "is_service_defined": false, "rules": [{"label":
"allow-http", "ports": "80", "action": "ACCEPT", "protocol": "TCP", "addresses":
- {"ipv4": ["0.0.0.0/0"]}}], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}'
+ {"ipv4": ["0.0.0.0/0"]}}], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
+ "deleted": null}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -100,13 +102,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "325"
+ - "349"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Mon, 13 Oct 2025 21:57:58 GMT
+ - Tue, 19 May 2026 19:46:09 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -140,14 +142,14 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/rulesets/78
+ url: https://api.linode.com/v4beta/networking/firewalls/rulesets/76228
method: PUT
response:
- body: '{"id": 78, "version": 2, "label": "rs-51452000-updated", "description":
+ body: '{"id": 76228, "version": 2, "label": "rs-51452000-updated", "description":
"Updated description", "type": "inbound", "is_service_defined": false, "rules":
- [{"action": "ACCEPT", "label": "allow-https", "ports": "443", "protocol": "TCP",
+ [{"label": "allow-https", "ports": "443", "action": "ACCEPT", "protocol": "TCP",
"addresses": {"ipv6": ["1234::5678/0"]}}], "created": "2018-01-02T03:04:05", "updated":
- "2018-01-02T03:04:05"}'
+ "2018-01-02T03:04:05", "deleted": null}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -166,13 +168,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "331"
+ - "355"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Mon, 13 Oct 2025 21:57:58 GMT
+ - Tue, 19 May 2026 19:46:10 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -208,24 +210,21 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls/rulesets?page=1
method: GET
response:
- body: '{"data": [{"id": 74, "version": 1, "label": "testRuleSet", "description":
- "test", "type": "inbound", "is_service_defined": false, "rules": [{"label": "test",
- "ports": "22-24", "action": "ACCEPT", "protocol": "TCP", "addresses": {"ipv4":
- ["192.0.2.0/24"]}, "description": "test"}], "created": "2018-01-02T03:04:05",
- "updated": "2018-01-02T03:04:05"}, {"id": 75, "version": 1, "label": "testRuleSet2",
- "description": "test2", "type": "inbound", "is_service_defined": false, "rules":
- [{"label": "test", "ports": "22-24", "action": "ACCEPT", "protocol": "TCP",
- "addresses": {"ipv4": ["192.0.2.0/24"]}, "description": "test"}], "created":
- "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}, {"id": 76, "version":
- 1, "label": "ruleset-1760391571119054000", "description": "Allow inbound HTTP",
- "type": "inbound", "is_service_defined": false, "rules": [{"label": "allow-http",
- "ports": "80", "action": "ACCEPT", "protocol": "TCP", "addresses": {"ipv4":
- ["0.0.0.0/0"]}}], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"},
- {"id": 78, "version": 2, "label": "rs-51452000-updated", "description": "Updated
- description", "type": "inbound", "is_service_defined": false, "rules": [{"label":
- "allow-https", "ports": "443", "action": "ACCEPT", "protocol": "TCP", "addresses":
- {"ipv6": ["1234::5678/0"]}}], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}],
- "page": 1, "pages": 1, "results": 4}'
+ body: '{"data": [{"id": 66318, "version": 2, "label": "rs-51452000-updated", "description":
+ "Updated description", "type": "inbound", "is_service_defined": false, "rules":
+ [{"label": "allow-https", "ports": "443", "action": "ACCEPT", "protocol": "TCP",
+ "addresses": {"ipv6": ["1234::5678/0"]}}], "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05", "deleted": "2018-01-02T03:04:05"}, {"id": 66319, "version":
+ 2, "label": "rs-51452000-updated", "description": "Updated description", "type":
+ "inbound", "is_service_defined": false, "rules": [{"label": "allow-https", "ports":
+ "443", "action": "ACCEPT", "protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"]}}],
+ "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "deleted":
+ "2018-01-02T03:04:05"}, {"id": 76228, "version": 2, "label": "rs-51452000-updated",
+ "description": "Updated description", "type": "inbound", "is_service_defined":
+ false, "rules": [{"label": "allow-https", "ports": "443", "action": "ACCEPT",
+ "protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"]}}], "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "deleted": null}], "page": 1, "pages": 1,
+ "results": 3}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -248,7 +247,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 13 Oct 2025 21:57:58 GMT
+ - Tue, 19 May 2026 19:46:10 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -283,7 +282,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/rulesets/78
+ url: https://api.linode.com/v4beta/networking/firewalls/rulesets/76228
method: DELETE
response:
body: '{}'
@@ -311,7 +310,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 13 Oct 2025 21:57:58 GMT
+ - Tue, 19 May 2026 19:46:10 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestFirewallRules_Get.yaml b/test/integration/fixtures/TestFirewallRules_Get.yaml
index f8c9dacbd..3ffc7ca10 100644
--- a/test/integration/fixtures/TestFirewallRules_Get.yaml
+++ b/test/integration/fixtures/TestFirewallRules_Get.yaml
@@ -2,7 +2,7 @@
version: 1
interactions:
- request:
- body: '{"label":"linodego-fw-test","rules":{"inbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"inbound_policy":"ACCEPT","outbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"outbound_policy":"ACCEPT","version":0,"fingerprint":""},"tags":["testing"]}'
+ body: '{"label":"linodego-fw-test","rules":{"inbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"inbound_policy":"ACCEPT","outbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"outbound_policy":"ACCEPT"},"tags":["testing"]}'
form: {}
headers:
Accept:
@@ -14,7 +14,7 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls
method: POST
response:
- body: '{"id": 3885660, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
+ body: '{"id": 9618466, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
[{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]},
"action": "ACCEPT", "label": "go-fwrule-test", "ports": "22"}], "inbound_policy":
@@ -46,7 +46,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Sat, 28 Feb 2026 07:07:58 GMT
+ - Tue, 05 May 2026 23:45:07 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -79,7 +79,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3885660/rules
+ url: https://api.linode.com/v4beta/networking/firewalls/9618466/rules
method: GET
response:
body: '{"inbound": [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4":
@@ -111,7 +111,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Sat, 28 Feb 2026 07:07:58 GMT
+ - Tue, 05 May 2026 23:45:07 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -145,7 +145,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3885660
+ url: https://api.linode.com/v4beta/networking/firewalls/9618466
method: DELETE
response:
body: '{}'
@@ -173,7 +173,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Sat, 28 Feb 2026 07:07:59 GMT
+ - Tue, 05 May 2026 23:45:08 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestFirewallRules_Update.yaml b/test/integration/fixtures/TestFirewallRules_Update.yaml
index 49fd6b381..a16157a3e 100644
--- a/test/integration/fixtures/TestFirewallRules_Update.yaml
+++ b/test/integration/fixtures/TestFirewallRules_Update.yaml
@@ -2,7 +2,7 @@
version: 1
interactions:
- request:
- body: '{"label":"linodego-fw-test","rules":{"inbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"inbound_policy":"ACCEPT","outbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"outbound_policy":"ACCEPT"},"tags":["testing"],"devices":{}}'
+ body: '{"label":"linodego-fw-test","rules":{"inbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"inbound_policy":"ACCEPT","outbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"outbound_policy":"ACCEPT"},"tags":["testing"]}'
form: {}
headers:
Accept:
@@ -14,12 +14,12 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls
method: POST
response:
- body: '{"id": 692860, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
+ body: '{"id": 9618482, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
- [{"action": "ACCEPT", "label": "go-fwrule-test", "ports": "22", "protocol":
- "TCP", "addresses": {"ipv4": ["0.0.0.0/0"], "ipv6": ["1234::5678/0"]}}], "inbound_policy":
- "ACCEPT", "outbound": [{"action": "ACCEPT", "label": "go-fwrule-test", "ports":
- "22", "protocol": "TCP", "addresses": {"ipv4": ["0.0.0.0/0"], "ipv6": ["1234::5678/0"]}}],
+ [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]},
+ "action": "ACCEPT", "label": "go-fwrule-test", "ports": "22"}], "inbound_policy":
+ "ACCEPT", "outbound": [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4":
+ ["0.0.0.0/0"]}, "action": "ACCEPT", "label": "go-fwrule-test", "ports": "22"}],
"outbound_policy": "ACCEPT", "version": 1, "fingerprint": "7bcc0f03"}, "tags":
["testing"], "entities": []}'
headers:
@@ -40,13 +40,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "583"
+ - "584"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 17:44:42 GMT
+ - Tue, 05 May 2026 23:45:08 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -61,12 +61,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -82,11 +79,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/692860/rules
+ url: https://api.linode.com/v4beta/networking/firewalls/9618482/rules
method: PUT
response:
- body: '{"inbound": [{"action": "DROP", "label": "go-fwrule-test_r", "ports": "22",
- "protocol": "TCP", "addresses": {"ipv4": ["0.0.0.0/0"], "ipv6": ["1234::5678/0"]}}],
+ body: '{"inbound": [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4":
+ ["0.0.0.0/0"]}, "action": "DROP", "label": "go-fwrule-test_r", "ports": "22"}],
"inbound_policy": "ACCEPT", "outbound": null, "outbound_policy": "ACCEPT", "version":
2, "fingerprint": "cddbc8f5"}'
headers:
@@ -113,7 +110,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 17:44:42 GMT
+ - Tue, 05 May 2026 23:45:08 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -128,12 +125,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -149,11 +143,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/692860/rules
+ url: https://api.linode.com/v4beta/networking/firewalls/9618482/rules
method: GET
response:
- body: '{"inbound": [{"action": "DROP", "label": "go-fwrule-test_r", "ports": "22",
- "protocol": "TCP", "addresses": {"ipv4": ["0.0.0.0/0"], "ipv6": ["1234::5678/0"]}}],
+ body: '{"inbound": [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4":
+ ["0.0.0.0/0"]}, "action": "DROP", "label": "go-fwrule-test_r", "ports": "22"}],
"inbound_policy": "ACCEPT", "outbound": null, "outbound_policy": "ACCEPT", "version":
2, "fingerprint": "cddbc8f5"}'
headers:
@@ -180,7 +174,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 17:44:42 GMT
+ - Tue, 05 May 2026 23:45:09 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -196,12 +190,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -217,7 +208,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/692860
+ url: https://api.linode.com/v4beta/networking/firewalls/9618482
method: DELETE
response:
body: '{}'
@@ -245,7 +236,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 17:44:42 GMT
+ - Tue, 05 May 2026 23:45:09 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -260,12 +251,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestFirewallSettings_Get.yaml b/test/integration/fixtures/TestFirewallSettings_Get.yaml
index 691d46647..f230c90d9 100644
--- a/test/integration/fixtures/TestFirewallSettings_Get.yaml
+++ b/test/integration/fixtures/TestFirewallSettings_Get.yaml
@@ -14,8 +14,8 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls/settings
method: GET
response:
- body: '{"default_firewall_ids": {"linode": 2630203, "nodebalancer": 1629606, "public_interface":
- 1629606, "vpc_interface": 1629606}}'
+ body: '{"default_firewall_ids": {"linode": null, "nodebalancer": null, "public_interface":
+ null, "vpc_interface": null}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -34,13 +34,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "125"
+ - "113"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 20 Jun 2025 21:00:18 GMT
+ - Tue, 05 May 2026 23:45:26 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -58,7 +58,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestFirewallSettings_UpdateAllFields.yaml b/test/integration/fixtures/TestFirewallSettings_UpdateAllFields.yaml
index 9899636ed..af7364f03 100644
--- a/test/integration/fixtures/TestFirewallSettings_UpdateAllFields.yaml
+++ b/test/integration/fixtures/TestFirewallSettings_UpdateAllFields.yaml
@@ -2,7 +2,7 @@
version: 1
interactions:
- request:
- body: '{"label":"fw-allfields-1750453218573434000","rules":{"inbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"inbound_policy":"ACCEPT","outbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"outbound_policy":"ACCEPT"},"tags":["testing"],"devices":{}}'
+ body: '{"label":"fw-allfields-1778024726382972000","rules":{"inbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"inbound_policy":"ACCEPT","outbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"outbound_policy":"ACCEPT"},"tags":["testing"]}'
form: {}
headers:
Accept:
@@ -14,7 +14,7 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls
method: POST
response:
- body: '{"id": 2898496, "label": "fw-allfields-1750453218573434000", "created":
+ body: '{"id": 9618684, "label": "fw-allfields-1778024726382972000", "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status": "enabled",
"rules": {"inbound": [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4":
["0.0.0.0/0"]}, "action": "ACCEPT", "label": "go-fwrule-test", "ports": "22"}],
@@ -46,7 +46,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 20 Jun 2025 21:00:18 GMT
+ - Tue, 05 May 2026 23:45:26 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -63,7 +63,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -82,8 +82,8 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls/settings
method: GET
response:
- body: '{"default_firewall_ids": {"linode": 2630203, "nodebalancer": 1629606, "public_interface":
- 1629606, "vpc_interface": 1629606}}'
+ body: '{"default_firewall_ids": {"linode": null, "nodebalancer": null, "public_interface":
+ null, "vpc_interface": null}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -102,13 +102,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "125"
+ - "113"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 20 Jun 2025 21:00:18 GMT
+ - Tue, 05 May 2026 23:45:26 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -126,14 +126,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"default_firewall_ids":{"linode":2898496,"nodebalancer":2898496,"public_interface":2898496,"vpc_interface":2898496}}'
+ body: '{"default_firewall_ids":{"linode":9618684,"nodebalancer":9618684,"public_interface":9618684,"vpc_interface":9618684}}'
form: {}
headers:
Accept:
@@ -145,8 +145,8 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls/settings
method: PUT
response:
- body: '{"default_firewall_ids": {"linode": 2898496, "nodebalancer": 2898496, "public_interface":
- 2898496, "vpc_interface": 2898496}}'
+ body: '{"default_firewall_ids": {"linode": 9618684, "nodebalancer": 9618684, "public_interface":
+ 9618684, "vpc_interface": 9618684}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -171,7 +171,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 20 Jun 2025 21:00:19 GMT
+ - Tue, 05 May 2026 23:45:27 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -188,14 +188,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"default_firewall_ids":{"linode":2630203,"nodebalancer":1629606,"public_interface":1629606,"vpc_interface":1629606}}'
+ body: '{"default_firewall_ids":{"linode":null,"nodebalancer":null,"public_interface":null,"vpc_interface":null}}'
form: {}
headers:
Accept:
@@ -207,8 +207,8 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls/settings
method: PUT
response:
- body: '{"default_firewall_ids": {"linode": 2630203, "nodebalancer": 1629606, "public_interface":
- 1629606, "vpc_interface": 1629606}}'
+ body: '{"default_firewall_ids": {"linode": null, "nodebalancer": null, "public_interface":
+ null, "vpc_interface": null}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -227,13 +227,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "125"
+ - "113"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 20 Jun 2025 21:00:19 GMT
+ - Tue, 05 May 2026 23:45:27 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -250,7 +250,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -266,7 +266,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/2898496
+ url: https://api.linode.com/v4beta/networking/firewalls/9618684
method: DELETE
response:
body: '{}'
@@ -294,7 +294,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 20 Jun 2025 21:00:19 GMT
+ - Tue, 05 May 2026 23:45:27 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -311,7 +311,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestFirewallSettings_UpdatePartial.yaml b/test/integration/fixtures/TestFirewallSettings_UpdatePartial.yaml
index 04c46d9b9..5450847b2 100644
--- a/test/integration/fixtures/TestFirewallSettings_UpdatePartial.yaml
+++ b/test/integration/fixtures/TestFirewallSettings_UpdatePartial.yaml
@@ -2,7 +2,7 @@
version: 1
interactions:
- request:
- body: '{"label":"fw-partial-1750453219295619000","rules":{"inbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"inbound_policy":"ACCEPT","outbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"outbound_policy":"ACCEPT"},"tags":["testing"],"devices":{}}'
+ body: '{"label":"fw-partial-1778024727842672000","rules":{"inbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"inbound_policy":"ACCEPT","outbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"outbound_policy":"ACCEPT"},"tags":["testing"]}'
form: {}
headers:
Accept:
@@ -14,7 +14,7 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls
method: POST
response:
- body: '{"id": 2898497, "label": "fw-partial-1750453219295619000", "created": "2018-01-02T03:04:05",
+ body: '{"id": 9618701, "label": "fw-partial-1778024727842672000", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
[{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]},
"action": "ACCEPT", "label": "go-fwrule-test", "ports": "22"}], "inbound_policy":
@@ -46,7 +46,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 20 Jun 2025 21:00:19 GMT
+ - Tue, 05 May 2026 23:45:28 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -63,7 +63,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -82,8 +82,8 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls/settings
method: GET
response:
- body: '{"default_firewall_ids": {"linode": 2630203, "nodebalancer": 1629606, "public_interface":
- 1629606, "vpc_interface": 1629606}}'
+ body: '{"default_firewall_ids": {"linode": null, "nodebalancer": null, "public_interface":
+ null, "vpc_interface": null}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -102,13 +102,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "125"
+ - "113"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 20 Jun 2025 21:00:19 GMT
+ - Tue, 05 May 2026 23:45:28 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -126,14 +126,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"default_firewall_ids":{"linode":2898497}}'
+ body: '{"default_firewall_ids":{"linode":9618701}}'
form: {}
headers:
Accept:
@@ -145,8 +145,8 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls/settings
method: PUT
response:
- body: '{"default_firewall_ids": {"linode": 2898497, "nodebalancer": 1629606, "public_interface":
- 1629606, "vpc_interface": 1629606}}'
+ body: '{"default_firewall_ids": {"linode": 9618701, "nodebalancer": null, "public_interface":
+ null, "vpc_interface": null}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -165,13 +165,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "125"
+ - "116"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 20 Jun 2025 21:00:19 GMT
+ - Tue, 05 May 2026 23:45:28 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -188,14 +188,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"default_firewall_ids":{"linode":2630203,"nodebalancer":1629606,"public_interface":1629606,"vpc_interface":1629606}}'
+ body: '{"default_firewall_ids":{"linode":null,"nodebalancer":null,"public_interface":null,"vpc_interface":null}}'
form: {}
headers:
Accept:
@@ -207,8 +207,8 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls/settings
method: PUT
response:
- body: '{"default_firewall_ids": {"linode": 2630203, "nodebalancer": 1629606, "public_interface":
- 1629606, "vpc_interface": 1629606}}'
+ body: '{"default_firewall_ids": {"linode": null, "nodebalancer": null, "public_interface":
+ null, "vpc_interface": null}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -227,13 +227,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "125"
+ - "113"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 20 Jun 2025 21:00:19 GMT
+ - Tue, 05 May 2026 23:45:28 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -250,7 +250,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -266,7 +266,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/2898497
+ url: https://api.linode.com/v4beta/networking/firewalls/9618701
method: DELETE
response:
body: '{}'
@@ -294,7 +294,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 20 Jun 2025 21:00:19 GMT
+ - Tue, 05 May 2026 23:45:28 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -311,7 +311,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestFirewallTemplate_Get.yaml b/test/integration/fixtures/TestFirewallTemplate_Get.yaml
index a3eb6eba3..915d533c2 100644
--- a/test/integration/fixtures/TestFirewallTemplate_Get.yaml
+++ b/test/integration/fixtures/TestFirewallTemplate_Get.yaml
@@ -14,12 +14,12 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls/templates/public
method: GET
response:
- body: '{"slug": "public", "rules": {"inbound": [{"action": "ACCEPT", "addresses":
- {"ipv4": ["0.0.0.0/0"], "ipv6": ["1234::5678/0"]}, "ports": "22", "protocol": "TCP",
- "label": "accept-inbound-ssh", "description": "Accept inbound SSH"}, {"action":
- "ACCEPT", "addresses": {"ipv4": ["0.0.0.0/0"], "ipv6": ["1234::5678/0"]}, "protocol":
- "ICMP", "label": "accept-inbound-icmp", "description": "Accept inbound ICMP"}],
- "inbound_policy": "DROP", "outbound": [], "outbound_policy": "ACCEPT"}}'
+ body: '{"slug": "public", "rules": {"inbound": [{"protocol": "TCP", "addresses":
+ {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]}, "action": "ACCEPT", "label": "accept-inbound-ssh",
+ "ports": "22", "description": "Accept inbound SSH"}, {"protocol": "ICMP", "addresses":
+ {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]}, "action": "ACCEPT", "label": "accept-inbound-icmp",
+ "description": "Accept inbound ICMP"}], "inbound_policy": "DROP", "outbound":
+ [], "outbound_policy": "ACCEPT"}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -44,7 +44,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 21 Apr 2025 07:03:52 GMT
+ - Tue, 05 May 2026 23:45:07 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -62,7 +62,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestFirewallTemplates_List.yaml b/test/integration/fixtures/TestFirewallTemplates_List.yaml
index bf2f1666f..1137c0b57 100644
--- a/test/integration/fixtures/TestFirewallTemplates_List.yaml
+++ b/test/integration/fixtures/TestFirewallTemplates_List.yaml
@@ -14,37 +14,36 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls/templates?page=1
method: GET
response:
- body: '{"data": [{"slug": "akamai-non-prod", "rules": {"inbound": [{"action":
- "ACCEPT", "addresses": {"ipv4": ["0.0.0.0/0"], "ipv6": ["1234::5678/0"]}, "protocol":
- "ICMP", "label": "accept-inbound-icmp", "description": "Accept inbound ICMP"},
- {"action": "ACCEPT", "addresses": {"ipv4": ["172.236.119.4/30", "172.234.160.4/30",
- "172.236.94.4/30"], "ipv6": ["1234::5678/128", "1234::5678/128",
+ body: '{"data": [{"slug": "akamai-non-prod", "rules": {"inbound": [{"protocol":
+ "ICMP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]}, "action": "ACCEPT",
+ "label": "accept-inbound-icmp", "description": "Accept inbound ICMP"}, {"protocol":
+ "TCP", "addresses": {"ipv6": ["1234::5678/128", "1234::5678/128",
"1234::5678/128", "1234::5678/128",
"1234::5678/128", "1234::5678/128",
"1234::5678/128", "1234::5678/128",
- "1234::5678/128"]}, "ports": "22,443", "protocol": "TCP",
- "label": "accept-inbound-tcp-ssh-proxies", "description": "Accept inbound TCP
- from SSH proxies"}, {"action": "ACCEPT", "addresses": {"ipv4": ["139.144.212.168/31",
- "172.232.23.164/31"]}, "ports": "22,443", "protocol": "TCP", "label": "accept-inbound-tcp-eaa-proxies",
- "description": "Accept inbound TCP from EAA proxies"}], "inbound_policy": "DROP",
- "outbound": [], "outbound_policy": "ACCEPT"}}, {"slug": "vpc", "rules": {"inbound":
- [{"action": "ACCEPT", "addresses": {"ipv4": ["0.0.0.0/0"], "ipv6": ["1234::5678/0"]},
- "ports": "22", "protocol": "TCP", "label": "accept-inbound-ssh", "description":
- "Accept inbound SSH"}, {"action": "ACCEPT", "addresses": {"ipv4": ["0.0.0.0/0"],
- "ipv6": ["1234::5678/0"]}, "protocol": "ICMP", "label": "accept-inbound-icmp", "description":
- "Accept inbound ICMP"}, {"action": "ACCEPT", "addresses": {"ipv4": ["10.0.0.0/8",
- "192.168.0.0/17", "172.16.0.0/12"]}, "ports": "1-65535", "protocol": "TCP",
- "label": "accept-inbound-rfc1918", "description": "Accept inbound RFC-1918"},
- {"action": "ACCEPT", "addresses": {"ipv4": ["10.0.0.0/8", "192.168.0.0/17",
- "172.16.0.0/12"]}, "description": "Accept inbound RFC-1918", "label": "accept-inbound-rfc1918",
- "ports": "1-65535", "protocol": "UDP"}], "inbound_policy": "DROP", "outbound":
- [], "outbound_policy": "ACCEPT"}}, {"slug": "public", "rules": {"inbound": [{"action":
- "ACCEPT", "addresses": {"ipv4": ["0.0.0.0/0"], "ipv6": ["1234::5678/0"]}, "ports": "22",
- "protocol": "TCP", "label": "accept-inbound-ssh", "description": "Accept inbound
- SSH"}, {"action": "ACCEPT", "addresses": {"ipv4": ["0.0.0.0/0"], "ipv6": ["1234::5678/0"]},
- "protocol": "ICMP", "label": "accept-inbound-icmp", "description": "Accept inbound
- ICMP"}], "inbound_policy": "DROP", "outbound": [], "outbound_policy": "ACCEPT"}}],
- "page": 1, "pages": 1, "results": 3}'
+ "1234::5678/128"], "ipv4": ["172.236.119.4/30", "172.234.160.4/30",
+ "172.236.94.4/30"]}, "action": "ACCEPT", "label": "accept-inbound-tcp-ssh-proxies",
+ "ports": "22,443", "description": "Accept inbound TCP from SSH proxies"}, {"protocol":
+ "TCP", "addresses": {"ipv4": ["139.144.212.168/31", "172.232.23.164/31"]}, "action":
+ "ACCEPT", "label": "accept-inbound-tcp-eaa-proxies", "ports": "22,443", "description":
+ "Accept inbound TCP from EAA proxies"}], "inbound_policy": "DROP", "outbound":
+ [], "outbound_policy": "ACCEPT"}}, {"slug": "vpc", "rules": {"inbound": [{"protocol":
+ "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]}, "action": "ACCEPT",
+ "label": "accept-inbound-ssh", "ports": "22", "description": "Accept inbound
+ SSH"}, {"protocol": "ICMP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]},
+ "action": "ACCEPT", "label": "accept-inbound-icmp", "description": "Accept inbound
+ ICMP"}, {"protocol": "TCP", "addresses": {"ipv4": ["10.0.0.0/8", "192.168.0.0/17",
+ "172.16.0.0/12"]}, "action": "ACCEPT", "label": "accept-inbound-rfc1918", "ports":
+ "1-65535", "description": "Accept inbound RFC-1918"}, {"protocol": "UDP", "addresses":
+ {"ipv4": ["10.0.0.0/8", "192.168.0.0/17", "172.16.0.0/12"]}, "action": "ACCEPT",
+ "label": "accept-inbound-rfc1918", "ports": "1-65535", "description": "Accept
+ inbound RFC-1918"}], "inbound_policy": "DROP", "outbound": [], "outbound_policy":
+ "ACCEPT"}}, {"slug": "public", "rules": {"inbound": [{"protocol": "TCP", "addresses":
+ {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]}, "action": "ACCEPT", "label": "accept-inbound-ssh",
+ "ports": "22", "description": "Accept inbound SSH"}, {"protocol": "ICMP", "addresses":
+ {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]}, "action": "ACCEPT", "label": "accept-inbound-icmp",
+ "description": "Accept inbound ICMP"}], "inbound_policy": "DROP", "outbound":
+ [], "outbound_policy": "ACCEPT"}}], "page": 1, "pages": 1, "results": 3}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -67,7 +66,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 21 Apr 2025 07:03:52 GMT
+ - Tue, 05 May 2026 23:45:07 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -86,7 +85,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestFirewall_Get.yaml b/test/integration/fixtures/TestFirewall_Get.yaml
index 74b990201..fe797ac97 100644
--- a/test/integration/fixtures/TestFirewall_Get.yaml
+++ b/test/integration/fixtures/TestFirewall_Get.yaml
@@ -14,7 +14,7 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls
method: POST
response:
- body: '{"id": 3885331, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
+ body: '{"id": 9618661, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
[{"protocol": "ICMP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]},
"action": "DROP", "label": "linodego-fwrule-test"}], "inbound_policy": "ACCEPT",
@@ -44,7 +44,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Sat, 28 Feb 2026 04:56:47 GMT
+ - Tue, 05 May 2026 23:45:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -77,10 +77,10 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3885331
+ url: https://api.linode.com/v4beta/networking/firewalls/9618661
method: GET
response:
- body: '{"id": 3885331, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
+ body: '{"id": 9618661, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
[{"protocol": "ICMP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]},
"action": "DROP", "label": "linodego-fwrule-test"}], "inbound_policy": "ACCEPT",
@@ -110,7 +110,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Sat, 28 Feb 2026 04:56:47 GMT
+ - Tue, 05 May 2026 23:45:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -144,7 +144,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3885331
+ url: https://api.linode.com/v4beta/networking/firewalls/9618661
method: DELETE
response:
body: '{}'
@@ -172,7 +172,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Sat, 28 Feb 2026 04:56:48 GMT
+ - Tue, 05 May 2026 23:45:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestFirewall_Update.yaml b/test/integration/fixtures/TestFirewall_Update.yaml
index 4cd900d81..97bf03c5a 100644
--- a/test/integration/fixtures/TestFirewall_Update.yaml
+++ b/test/integration/fixtures/TestFirewall_Update.yaml
@@ -14,7 +14,7 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls
method: POST
response:
- body: '{"id": 3885332, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
+ body: '{"id": 9618668, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
[{"protocol": "ICMP", "addresses": {"ipv4": ["0.0.0.0/0"]}, "action": "DROP",
"label": "linodego-fwrule-test"}], "inbound_policy": "ACCEPT", "outbound": null,
@@ -44,7 +44,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Sat, 28 Feb 2026 04:56:48 GMT
+ - Tue, 05 May 2026 23:45:25 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -77,10 +77,10 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3885332
+ url: https://api.linode.com/v4beta/networking/firewalls/9618668
method: PUT
response:
- body: '{"id": 3885332, "label": "linodego-fw-test-updated", "created": "2018-01-02T03:04:05",
+ body: '{"id": 9618668, "label": "linodego-fw-test-updated", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "status": "disabled", "rules": {"inbound":
[{"protocol": "ICMP", "addresses": {"ipv4": ["0.0.0.0/0"]}, "action": "DROP",
"label": "linodego-fwrule-test"}], "inbound_policy": "ACCEPT", "outbound": null,
@@ -110,7 +110,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Sat, 28 Feb 2026 04:56:48 GMT
+ - Tue, 05 May 2026 23:45:25 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -143,7 +143,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/3885332
+ url: https://api.linode.com/v4beta/networking/firewalls/9618668
method: DELETE
response:
body: '{}'
@@ -171,7 +171,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Sat, 28 Feb 2026 04:56:49 GMT
+ - Tue, 05 May 2026 23:45:26 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestFirewalls_List.yaml b/test/integration/fixtures/TestFirewalls_List.yaml
index 5c5e853db..d808777f2 100644
--- a/test/integration/fixtures/TestFirewalls_List.yaml
+++ b/test/integration/fixtures/TestFirewalls_List.yaml
@@ -2,7 +2,7 @@
version: 1
interactions:
- request:
- body: '{"label":"linodego-fw-test","rules":{"inbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"inbound_policy":"ACCEPT","outbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"outbound_policy":"ACCEPT"},"tags":["testing"],"devices":{}}'
+ body: '{"label":"linodego-fw-test","rules":{"inbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"inbound_policy":"ACCEPT","outbound":[{"action":"ACCEPT","label":"go-fwrule-test","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"outbound_policy":"ACCEPT"},"tags":["testing"]}'
form: {}
headers:
Accept:
@@ -14,12 +14,12 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls
method: POST
response:
- body: '{"id": 692864, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
+ body: '{"id": 9618652, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
- [{"action": "ACCEPT", "label": "go-fwrule-test", "ports": "22", "protocol":
- "TCP", "addresses": {"ipv4": ["0.0.0.0/0"], "ipv6": ["1234::5678/0"]}}], "inbound_policy":
- "ACCEPT", "outbound": [{"action": "ACCEPT", "label": "go-fwrule-test", "ports":
- "22", "protocol": "TCP", "addresses": {"ipv4": ["0.0.0.0/0"], "ipv6": ["1234::5678/0"]}}],
+ [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]},
+ "action": "ACCEPT", "label": "go-fwrule-test", "ports": "22"}], "inbound_policy":
+ "ACCEPT", "outbound": [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4":
+ ["0.0.0.0/0"]}, "action": "ACCEPT", "label": "go-fwrule-test", "ports": "22"}],
"outbound_policy": "ACCEPT", "version": 1, "fingerprint": "7bcc0f03"}, "tags":
["testing"], "entities": []}'
headers:
@@ -40,13 +40,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "583"
+ - "584"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 17:44:49 GMT
+ - Tue, 05 May 2026 23:45:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -61,12 +61,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -85,105 +82,91 @@ interactions:
url: https://api.linode.com/v4beta/networking/firewalls?page=1
method: GET
response:
- body: '{"data": [{"id": 433514, "label": "test-fw", "created": "2018-01-02T03:04:05",
+ body: '{"data": [{"id": 1629606, "label": "akamai-non-prod-1", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
- [{"action": "ACCEPT", "addresses": {"ipv4": ["0.0.0.0/0"], "ipv6": ["1234::5678/0"]},
- "ports": "22", "protocol": "TCP", "label": "accept-inbound-SSH", "description":
- null}], "inbound_policy": "DROP", "outbound": [], "outbound_policy": "ACCEPT",
- "version": 4, "fingerprint": "20eec66f"}, "tags": [], "entities": [{"id": 57328123,
- "type": "linode", "label": "debian-us-central", "url": "/v4/linode/instances/57328123"},
- {"id": 54748754, "type": "linode", "label": "debian-us-ord", "url": "/v4/linode/instances/54748754"}]},
- {"id": 624183, "label": "e2e-firewall-izUKXM", "created": "2018-01-02T03:04:05",
+ [{"protocol": "ICMP", "addresses": {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]},
+ "action": "ACCEPT", "label": "accept-inbound-icmp", "description": "Accept inbound
+ ICMP"}, {"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/128",
+ "1234::5678/128", "1234::5678/128",
+ "1234::5678/128", "1234::5678/128",
+ "1234::5678/128", "1234::5678/128",
+ "1234::5678/128", "1234::5678/128"],
+ "ipv4": ["172.236.119.4/30", "172.234.160.4/30", "172.236.94.4/30"]}, "action":
+ "ACCEPT", "label": "accept-inbound-tcp-ssh-proxies", "ports": "22,443", "description":
+ "Accept inbound TCP from SSH proxies"}, {"protocol": "TCP", "addresses": {"ipv4":
+ ["139.144.212.168/31", "172.232.23.164/31"]}, "action": "ACCEPT", "label": "accept-inbound-tcp-eaa-proxies",
+ "ports": "22,443", "description": "Accept inbound TCP from EAA proxies"}], "inbound_policy":
+ "DROP", "outbound": [], "outbound_policy": "ACCEPT", "version": 1, "fingerprint":
+ "aaa34813"}, "tags": ["linuke-keep"], "entities": [{"id": 379283, "type": "linode_interface",
+ "label": null, "url": "/v4/linode/instances/97114135/interfaces/379283", "parent_entity":
+ {"id": 97114135, "type": "linode", "label": "test-mcp", "url": "/v4/linode/instances/97114135",
+ "parent_entity": null}}]}, {"id": 6487222, "label": "tf_test-4730363105259144210",
+ "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status":
+ "enabled", "rules": {"inbound": [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/128"],
+ "ipv4": ["74.102.235.249/32"]}, "action": "ACCEPT", "label": "tcp_inbound_ssh_accept_local",
+ "ports": "22"}], "inbound_policy": "DROP", "outbound": [], "outbound_policy":
+ "ACCEPT", "version": 1, "fingerprint": "5aa2d804"}, "tags": [], "entities":
+ []}, {"id": 6487694, "label": "tf_test-8181405914570718692", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
- [{"label": "ssh-accept-inbound-rule", "addresses": {"ipv4": ["207.172.164.59/32"]},
- "description": "ACCEPT SSH from test machine", "ports": "22", "protocol": "TCP",
- "action": "ACCEPT"}], "inbound_policy": "DROP", "outbound": [], "outbound_policy":
- "ACCEPT", "version": 1, "fingerprint": "45912779"}, "tags": [], "entities":
- []}, {"id": 624308, "label": "e2e-firewall-svVoqB", "created": "2018-01-02T03:04:05",
+ [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/128"],
+ "ipv4": ["74.102.235.249/32"]}, "action": "ACCEPT", "label": "tcp_inbound_ssh_accept_local",
+ "ports": "22"}], "inbound_policy": "DROP", "outbound": [], "outbound_policy":
+ "ACCEPT", "version": 1, "fingerprint": "5aa2d804"}, "tags": [], "entities":
+ []}, {"id": 6488076, "label": "tf-test-2662579243763295399", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
- [{"label": "ssh-accept-inbound-rule", "addresses": {"ipv4": ["207.172.164.59/32"]},
- "description": "ACCEPT SSH from test machine", "ports": "22", "protocol": "TCP",
- "action": "ACCEPT"}], "inbound_policy": "DROP", "outbound": [], "outbound_policy":
- "ACCEPT", "version": 1, "fingerprint": "45912779"}, "tags": [], "entities":
- [{"id": 60939824, "type": "linode", "label": "ansible-test-471035164-updated",
- "url": "/v4/linode/instances/60939824"}]}, {"id": 682410, "label": "e2e-firewall-bucVPC",
- "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status":
- "enabled", "rules": {"inbound": [{"label": "ssh-accept-inbound-rule", "addresses":
- {"ipv4": ["207.172.164.59/32"]}, "description": "ACCEPT SSH from test machine",
- "ports": "22", "protocol": "TCP", "action": "ACCEPT"}], "inbound_policy": "DROP",
- "outbound": [], "outbound_policy": "ACCEPT", "version": 1, "fingerprint": "45912779"},
- "tags": [], "entities": []}, {"id": 682453, "label": "e2e-firewall-WJsukx",
- "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status":
- "enabled", "rules": {"inbound": [{"label": "ssh-accept-inbound-rule", "addresses":
- {"ipv4": ["207.172.164.59/32"]}, "description": "ACCEPT SSH from test machine",
- "ports": "22", "protocol": "TCP", "action": "ACCEPT"}], "inbound_policy": "DROP",
- "outbound": [], "outbound_policy": "ACCEPT", "version": 1, "fingerprint": "45912779"},
- "tags": [], "entities": []}, {"id": 682477, "label": "e2e-firewall-IzEjvH",
- "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status":
- "enabled", "rules": {"inbound": [{"label": "ssh-accept-inbound-rule", "addresses":
- {"ipv4": ["207.172.164.59/32"]}, "description": "ACCEPT SSH from test machine",
- "ports": "22", "protocol": "TCP", "action": "ACCEPT"}], "inbound_policy": "DROP",
- "outbound": [], "outbound_policy": "ACCEPT", "version": 1, "fingerprint": "45912779"},
- "tags": [], "entities": []}, {"id": 682500, "label": "e2e-firewall-QdxDkS",
- "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status":
- "enabled", "rules": {"inbound": [{"label": "ssh-accept-inbound-rule", "addresses":
- {"ipv4": ["207.172.164.59/32"]}, "description": "ACCEPT SSH from test machine",
- "ports": "22", "protocol": "TCP", "action": "ACCEPT"}], "inbound_policy": "DROP",
- "outbound": [], "outbound_policy": "ACCEPT", "version": 1, "fingerprint": "45912779"},
- "tags": [], "entities": []}, {"id": 682505, "label": "e2e-firewall-KkroRq",
- "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status":
- "enabled", "rules": {"inbound": [{"label": "ssh-accept-inbound-rule", "addresses":
- {"ipv4": ["207.172.164.59/32"]}, "description": "ACCEPT SSH from test machine",
- "ports": "22", "protocol": "TCP", "action": "ACCEPT"}], "inbound_policy": "DROP",
- "outbound": [], "outbound_policy": "ACCEPT", "version": 1, "fingerprint": "45912779"},
- "tags": [], "entities": []}, {"id": 682508, "label": "e2e-firewall-WPxzQk",
- "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status":
- "enabled", "rules": {"inbound": [{"label": "ssh-accept-inbound-rule", "addresses":
- {"ipv4": ["207.172.164.59/32"]}, "description": "ACCEPT SSH from test machine",
- "ports": "22", "protocol": "TCP", "action": "ACCEPT"}], "inbound_policy": "DROP",
- "outbound": [], "outbound_policy": "ACCEPT", "version": 1, "fingerprint": "45912779"},
- "tags": [], "entities": []}, {"id": 682532, "label": "e2e-firewall-rBZhHt",
- "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status":
- "enabled", "rules": {"inbound": [{"label": "ssh-accept-inbound-rule", "addresses":
- {"ipv4": ["207.172.164.59/32"]}, "description": "ACCEPT SSH from test machine",
- "ports": "22", "protocol": "TCP", "action": "ACCEPT"}], "inbound_policy": "DROP",
- "outbound": [], "outbound_policy": "ACCEPT", "version": 1, "fingerprint": "45912779"},
- "tags": [], "entities": []}, {"id": 692740, "label": "cloudfw-1721926678901029000",
- "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status":
- "enabled", "rules": {"inbound": [{"action": "ACCEPT", "label": "ssh-inbound-accept-local",
- "ports": "22", "protocol": "TCP", "addresses": {"ipv4": ["207.172.164.59/32"]}}],
- "inbound_policy": "DROP", "outbound": [], "outbound_policy": "ACCEPT", "version":
- 1, "fingerprint": "3e4f4201"}, "tags": [], "entities": []}, {"id": 692760, "label":
- "cloudfw-1721927227347144000", "created": "2018-01-02T03:04:05", "updated":
- "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound": [{"action":
- "ACCEPT", "label": "ssh-inbound-accept-local", "ports": "22", "protocol": "TCP",
- "addresses": {"ipv4": ["207.172.164.59/32"]}}], "inbound_policy": "DROP", "outbound":
- [], "outbound_policy": "ACCEPT", "version": 1, "fingerprint": "3e4f4201"}, "tags":
- [], "entities": []}, {"id": 692763, "label": "cloudfw-1721927316071520000",
- "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status":
- "enabled", "rules": {"inbound": [{"action": "ACCEPT", "label": "ssh-inbound-accept-local",
- "ports": "22", "protocol": "TCP", "addresses": {"ipv4": ["207.172.164.59/32"]}}],
- "inbound_policy": "DROP", "outbound": [], "outbound_policy": "ACCEPT", "version":
- 1, "fingerprint": "3e4f4201"}, "tags": [], "entities": []}, {"id": 692848, "label":
- "cloudfw-1721929346146739000", "created": "2018-01-02T03:04:05", "updated":
- "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound": [{"action":
- "ACCEPT", "label": "ssh-inbound-accept-local", "ports": "22", "protocol": "TCP",
- "addresses": {"ipv4": ["207.172.164.59/32"]}}], "inbound_policy": "DROP", "outbound":
- [], "outbound_policy": "ACCEPT", "version": 1, "fingerprint": "3e4f4201"}, "tags":
- [], "entities": []}, {"id": 692854, "label": "cloudfw-1721929441971780000",
+ [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/128"],
+ "ipv4": ["74.102.235.249/32"]}, "action": "ACCEPT", "label": "tcp_inbound_ssh_accept_local",
+ "ports": "22"}], "inbound_policy": "DROP", "outbound": [], "outbound_policy":
+ "ACCEPT", "version": 1, "fingerprint": "5aa2d804"}, "tags": [], "entities":
+ []}, {"id": 6488152, "label": "tf-test-7434155876252647646", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
+ [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/128"],
+ "ipv4": ["74.102.235.249/32"]}, "action": "ACCEPT", "label": "tcp_inbound_ssh_accept_local",
+ "ports": "22"}], "inbound_policy": "DROP", "outbound": [], "outbound_policy":
+ "ACCEPT", "version": 1, "fingerprint": "5aa2d804"}, "tags": [], "entities":
+ []}, {"id": 6488643, "label": "tf_test-4497105480711871048", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
+ [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/128"],
+ "ipv4": ["74.102.235.249/32"]}, "action": "ACCEPT", "label": "tcp_inbound_ssh_accept_local",
+ "ports": "22"}], "inbound_policy": "DROP", "outbound": [], "outbound_policy":
+ "ACCEPT", "version": 1, "fingerprint": "5aa2d804"}, "tags": [], "entities":
+ []}, {"id": 6488833, "label": "tf_test-2716164270344383334", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
+ [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/128"],
+ "ipv4": ["74.102.235.249/32"]}, "action": "ACCEPT", "label": "tcp_inbound_ssh_accept_local",
+ "ports": "22"}], "inbound_policy": "DROP", "outbound": [], "outbound_policy":
+ "ACCEPT", "version": 1, "fingerprint": "5aa2d804"}, "tags": [], "entities":
+ []}, {"id": 6488942, "label": "tf_test-5198004906850423409", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
+ [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/128"],
+ "ipv4": ["74.102.235.249/32"]}, "action": "ACCEPT", "label": "tcp_inbound_ssh_accept_local",
+ "ports": "22"}], "inbound_policy": "DROP", "outbound": [], "outbound_policy":
+ "ACCEPT", "version": 1, "fingerprint": "5aa2d804"}, "tags": [], "entities":
+ []}, {"id": 6488991, "label": "tf_test-8335666987695131249", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
+ [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/128"],
+ "ipv4": ["74.102.235.249/32"]}, "action": "ACCEPT", "label": "tcp_inbound_ssh_accept_local",
+ "ports": "22"}], "inbound_policy": "DROP", "outbound": [], "outbound_policy":
+ "ACCEPT", "version": 1, "fingerprint": "5aa2d804"}, "tags": [], "entities":
+ []}, {"id": 6489132, "label": "tf_test-8711695578112956943", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
+ [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/128"],
+ "ipv4": ["74.102.235.249/32"]}, "action": "ACCEPT", "label": "tcp_inbound_ssh_accept_local",
+ "ports": "22"}], "inbound_policy": "DROP", "outbound": [], "outbound_policy":
+ "ACCEPT", "version": 1, "fingerprint": "5aa2d804"}, "tags": [], "entities":
+ []}, {"id": 9618460, "label": "cloudfw-1778024706560062000", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound":
+ [{"protocol": "TCP", "addresses": {"ipv4": ["74.102.235.249/32"]}, "action":
+ "ACCEPT", "label": "ssh-inbound-accept-local", "ports": "22"}], "inbound_policy":
+ "DROP", "outbound": [], "outbound_policy": "ACCEPT", "version": 1, "fingerprint":
+ "e3c5e43b"}, "tags": [], "entities": []}, {"id": 9618652, "label": "linodego-fw-test",
"created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status":
- "enabled", "rules": {"inbound": [{"action": "ACCEPT", "label": "ssh-inbound-accept-local",
- "ports": "22", "protocol": "TCP", "addresses": {"ipv4": ["207.172.164.59/32"]}}],
- "inbound_policy": "DROP", "outbound": [], "outbound_policy": "ACCEPT", "version":
- 1, "fingerprint": "3e4f4201"}, "tags": [], "entities": []}, {"id": 692864, "label":
- "linodego-fw-test", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "status": "enabled", "rules": {"inbound": [{"action": "ACCEPT", "label": "go-fwrule-test",
- "ports": "22", "protocol": "TCP", "addresses": {"ipv4": ["0.0.0.0/0"], "ipv6":
- ["1234::5678/0"]}}], "inbound_policy": "ACCEPT", "outbound": [{"action": "ACCEPT", "label":
- "go-fwrule-test", "ports": "22", "protocol": "TCP", "addresses": {"ipv4": ["0.0.0.0/0"],
- "ipv6": ["1234::5678/0"]}}], "outbound_policy": "ACCEPT", "version": 1, "fingerprint":
- "7bcc0f03"}, "tags": ["testing"], "entities": []}], "page": 1, "pages": 1, "results":
- 16}'
+ "enabled", "rules": {"inbound": [{"protocol": "TCP", "addresses": {"ipv6": ["1234::5678/0"],
+ "ipv4": ["0.0.0.0/0"]}, "action": "ACCEPT", "label": "go-fwrule-test", "ports":
+ "22"}], "inbound_policy": "ACCEPT", "outbound": [{"protocol": "TCP", "addresses":
+ {"ipv6": ["1234::5678/0"], "ipv4": ["0.0.0.0/0"]}, "action": "ACCEPT", "label": "go-fwrule-test",
+ "ports": "22"}], "outbound_policy": "ACCEPT", "version": 1, "fingerprint": "7bcc0f03"},
+ "tags": ["testing"], "entities": []}], "page": 1, "pages": 1, "results": 12}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -206,7 +189,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 17:44:49 GMT
+ - Tue, 05 May 2026 23:45:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -223,12 +206,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -244,7 +224,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/firewalls/692864
+ url: https://api.linode.com/v4beta/networking/firewalls/9618652
method: DELETE
response:
body: '{}'
@@ -272,7 +252,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 17:44:49 GMT
+ - Tue, 05 May 2026 23:45:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -287,12 +267,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestIPAddress_Instance_Allocate.yaml b/test/integration/fixtures/TestIPAddress_Instance_Allocate.yaml
index 63242b3dd..2a249fd3f 100644
--- a/test/integration/fixtures/TestIPAddress_Instance_Allocate.yaml
+++ b/test/integration/fixtures/TestIPAddress_Instance_Allocate.yaml
@@ -14,308 +14,360 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
- "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
- "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
- "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
- "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
- "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
"label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
"label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
"label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
"label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
"label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
"label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
"label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
"label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
- "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
"label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
"label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT
- Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []},
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
"label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
"label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
- "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
- "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok",
- "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Disk
- Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}], "page": 1,
- "pages": 1, "results": 32}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -338,7 +390,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:19 GMT
+ - Mon, 11 May 2026 11:37:56 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -364,7 +416,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-sea","type":"g6-nanode-1","label":"go-test-ins-wo-disk-3g7v383ls1vk","firewall_id":3123597,"booted":false}'
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"go-test-ins-wo-disk-xy5u38cl5v60","firewall_id":15520950,"booted":false}'
form: {}
headers:
Accept:
@@ -376,18 +428,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82378688, "label": "go-test-ins-wo-disk-3g7v383ls1vk", "group":
+ body: '{"id": 97436631, "label": "go-test-ins-wo-disk-xy5u38cl5v60", "group":
"", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["172.234.247.109"], "ipv6": "1234::5678/128",
- "image": null, "region": "us-sea", "site_type": "core", "specs": {"disk": 25600,
+ "type": "g6-nanode-1", "ipv4": ["172.237.126.45"], "ipv6": "1234::5678/128",
+ "image": null, "region": "gb-lon", "site_type": "core", "specs": {"disk": 25600,
"memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "92b99c41adc1f22678d5d6ccb0a2a61c2363c222",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": ["Block Storage Encryption", "Maintenance
- Policy"], "interface_generation": "legacy_config", "maintenance_policy": "linode/power_off_on"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "63a2ebcdb71d57bdc881b177d10ce94dfcf73c9f", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -410,7 +463,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:20 GMT
+ - Mon, 11 May 2026 11:37:56 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -435,7 +488,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-conf-nn2s8m273r7p","devices":{},"interfaces":null}'
+ body: '{"label":"go-test-conf-a7w576x6kwz9","devices":{},"interfaces":null}'
form: {}
headers:
Accept:
@@ -444,11 +497,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82378688/configs
+ url: https://api.linode.com/v4beta/linode/instances/97436631/configs
method: POST
response:
- body: '{"id": 85842696, "label": "go-test-conf-nn2s8m273r7p", "helpers": {"updatedb_disabled":
- true, "distro": true, "modules_dep": true, "network": false, "devtmpfs_automount":
+ body: '{"id": 100917126, "label": "go-test-conf-a7w576x6kwz9", "helpers": {"updatedb_disabled":
+ true, "distro": true, "modules_dep": true, "network": true, "devtmpfs_automount":
true}, "kernel": "linode/latest-64bit", "comments": "", "memory_limit": 0, "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "root_device": "/dev/sda",
"devices": {"sda": null, "sdb": null, "sdc": null, "sdd": null, "sde": null,
@@ -478,7 +531,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:20 GMT
+ - Mon, 11 May 2026 11:37:57 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -502,7 +555,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"type":"ipv4","public":true,"reserved":true,"region":"us-sea","linode_id":82378688}'
+ body: '{"type":"ipv4","public":true,"reserved":true,"region":"gb-lon","linode_id":97436631}'
form: {}
headers:
Accept:
@@ -514,11 +567,12 @@ interactions:
url: https://api.linode.com/v4beta/networking/ips
method: POST
response:
- body: '{"address": "172.234.236.170", "gateway": "172.234.236.1", "subnet_mask":
- "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-234-236-170.ip.linodeusercontent.com",
- "linode_id": 82378688, "interface_id": null, "region": "us-sea", "vpc_nat_1_1":
- null, "reserved": true, "assigned_entity": {"id": 82378688, "type": "linode",
- "label": "go-test-ins-wo-disk-3g7v383ls1vk", "url": "/v4/linode/instances/82378688"}}'
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-237-112-182.ip.linodeusercontent.com",
+ "linode_id": 97436631, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": {"id": 97436631, "type": "linode",
+ "label": "go-test-ins-wo-disk-xy5u38cl5v60", "url": "/v4/linode/instances/97436631"},
+ "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -537,13 +591,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "432"
+ - "444"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:20 GMT
+ - Mon, 11 May 2026 11:37:57 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -567,7 +621,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"type":"ipv4","public":true,"reserved":true,"region":"us-sea","linode_id":99999}'
+ body: '{"type":"ipv4","public":true,"reserved":true,"region":"gb-lon","linode_id":99999}'
form: {}
headers:
Accept:
@@ -596,7 +650,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:20 GMT
+ - Mon, 11 May 2026 11:37:57 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -613,7 +667,7 @@ interactions:
code: 400
duration: ""
- request:
- body: '{"type":"ipv4","public":true,"reserved":true,"region":"us-sea"}'
+ body: '{"type":"ipv4","public":true,"reserved":true,"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -625,10 +679,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/ips
method: POST
response:
- body: '{"address": "172.232.163.138", "gateway": "172.232.163.1", "subnet_mask":
+ body: '{"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
"255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
- "linode_id": null, "interface_id": null, "region": "us-sea", "vpc_nat_1_1":
- null, "reserved": true, "assigned_entity": null}'
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -647,13 +701,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "275"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:21 GMT
+ - Mon, 11 May 2026 11:37:58 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -677,7 +731,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"type":"ipv4","public":true,"reserved":true,"linode_id":82378688}'
+ body: '{"type":"ipv4","public":true,"reserved":true,"linode_id":97436631}'
form: {}
headers:
Accept:
@@ -689,11 +743,12 @@ interactions:
url: https://api.linode.com/v4beta/networking/ips
method: POST
response:
- body: '{"address": "172.232.175.35", "gateway": "172.232.175.1", "subnet_mask":
- "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-232-175-35.ip.linodeusercontent.com",
- "linode_id": 82378688, "interface_id": null, "region": "us-sea", "vpc_nat_1_1":
- null, "reserved": true, "assigned_entity": {"id": 82378688, "type": "linode",
- "label": "go-test-ins-wo-disk-3g7v383ls1vk", "url": "/v4/linode/instances/82378688"}}'
+ body: '{"address": "172.237.114.56", "gateway": "172.237.114.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-237-114-56.ip.linodeusercontent.com",
+ "linode_id": 97436631, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": {"id": 97436631, "type": "linode",
+ "label": "go-test-ins-wo-disk-xy5u38cl5v60", "url": "/v4/linode/instances/97436631"},
+ "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -712,13 +767,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "430"
+ - "442"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:21 GMT
+ - Mon, 11 May 2026 11:37:58 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -751,7 +806,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/172.232.175.35
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.114.56
method: DELETE
response:
body: '{}'
@@ -779,7 +834,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:21 GMT
+ - Mon, 11 May 2026 11:37:58 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -833,7 +888,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:21 GMT
+ - Mon, 11 May 2026 11:37:59 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -850,7 +905,7 @@ interactions:
code: 400
duration: ""
- request:
- body: '{"type":"ipv4","public":false,"reserved":true,"region":"us-sea","linode_id":82378688}'
+ body: '{"type":"ipv4","public":false,"reserved":true,"region":"gb-lon","linode_id":97436631}'
form: {}
headers:
Accept:
@@ -879,7 +934,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:21 GMT
+ - Mon, 11 May 2026 11:37:59 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -896,7 +951,7 @@ interactions:
code: 400
duration: ""
- request:
- body: '{"type":"ipv4","public":true,"region":"us-sea","linode_id":82378688}'
+ body: '{"type":"ipv4","public":true,"region":"gb-lon","linode_id":97436631}'
form: {}
headers:
Accept:
@@ -908,11 +963,11 @@ interactions:
url: https://api.linode.com/v4beta/networking/ips
method: POST
response:
- body: '{"address": "172.234.247.114", "gateway": "172.234.247.1", "subnet_mask":
- "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-234-247-114.ip.linodeusercontent.com",
- "linode_id": 82378688, "interface_id": null, "region": "us-sea", "vpc_nat_1_1":
- null, "reserved": false, "assigned_entity": {"id": 82378688, "type": "linode",
- "label": "go-test-ins-wo-disk-3g7v383ls1vk", "url": "/v4/linode/instances/82378688"}}'
+ body: '{"address": "172.237.126.49", "gateway": "172.237.126.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-237-126-49.ip.linodeusercontent.com",
+ "linode_id": 97436631, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": false, "assigned_entity": {"id": 97436631, "type": "linode",
+ "label": "go-test-ins-wo-disk-xy5u38cl5v60", "url": "/v4/linode/instances/97436631"}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -931,13 +986,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "433"
+ - "431"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:22 GMT
+ - Mon, 11 May 2026 11:37:59 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -970,7 +1025,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82378688/ips/172.234.247.114
+ url: https://api.linode.com/v4beta/linode/instances/97436631/ips/172.237.126.49
method: DELETE
response:
body: '{}'
@@ -998,7 +1053,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:22 GMT
+ - Mon, 11 May 2026 11:38:00 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1022,7 +1077,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"type":"ipv4","public":true,"region":"us-sea","linode_id":82378688}'
+ body: '{"type":"ipv4","public":true,"region":"gb-lon","linode_id":97436631}'
form: {}
headers:
Accept:
@@ -1034,11 +1089,11 @@ interactions:
url: https://api.linode.com/v4beta/networking/ips
method: POST
response:
- body: '{"address": "172.234.247.114", "gateway": "172.234.247.1", "subnet_mask":
- "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-234-247-114.ip.linodeusercontent.com",
- "linode_id": 82378688, "interface_id": null, "region": "us-sea", "vpc_nat_1_1":
- null, "reserved": false, "assigned_entity": {"id": 82378688, "type": "linode",
- "label": "go-test-ins-wo-disk-3g7v383ls1vk", "url": "/v4/linode/instances/82378688"}}'
+ body: '{"address": "172.237.126.49", "gateway": "172.237.126.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-237-126-49.ip.linodeusercontent.com",
+ "linode_id": 97436631, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": false, "assigned_entity": {"id": 97436631, "type": "linode",
+ "label": "go-test-ins-wo-disk-xy5u38cl5v60", "url": "/v4/linode/instances/97436631"}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -1057,13 +1112,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "433"
+ - "431"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:22 GMT
+ - Mon, 11 May 2026 11:38:00 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1096,7 +1151,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82378688/ips/172.234.247.114
+ url: https://api.linode.com/v4beta/linode/instances/97436631/ips/172.237.126.49
method: DELETE
response:
body: '{}'
@@ -1124,7 +1179,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:22 GMT
+ - Mon, 11 May 2026 11:38:01 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1148,7 +1203,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"type":"ipv4","public":true,"region":"us-sea"}'
+ body: '{"type":"ipv4","public":true,"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -1178,7 +1233,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:23 GMT
+ - Mon, 11 May 2026 11:38:02 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1195,7 +1250,7 @@ interactions:
code: 400
duration: ""
- request:
- body: '{"type":"ipv4","public":true,"region":"us-sea"}'
+ body: '{"type":"ipv4","public":true,"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -1225,7 +1280,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:23 GMT
+ - Mon, 11 May 2026 11:38:02 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1242,7 +1297,7 @@ interactions:
code: 400
duration: ""
- request:
- body: '{"type":"ipv6","public":true,"reserved":true,"region":"us-sea","linode_id":82378688}'
+ body: '{"type":"ipv6","public":true,"reserved":true,"region":"gb-lon","linode_id":97436631}'
form: {}
headers:
Accept:
@@ -1271,7 +1326,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:23 GMT
+ - Mon, 11 May 2026 11:38:02 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1288,7 +1343,7 @@ interactions:
code: 400
duration: ""
- request:
- body: '{"type":"ipv6","public":true,"region":"us-sea","linode_id":82378688}'
+ body: '{"type":"ipv6","public":true,"region":"gb-lon","linode_id":97436631}'
form: {}
headers:
Accept:
@@ -1317,7 +1372,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:23 GMT
+ - Mon, 11 May 2026 11:38:03 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1334,7 +1389,7 @@ interactions:
code: 400
duration: ""
- request:
- body: '{"type":"ipv4","public":true,"reserved":true,"region":"us-west","linode_id":82378688}'
+ body: '{"type":"ipv4","public":true,"reserved":true,"region":"us-west","linode_id":97436631}'
form: {}
headers:
Accept:
@@ -1364,7 +1419,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:23 GMT
+ - Mon, 11 May 2026 11:38:03 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1390,7 +1445,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82378688
+ url: https://api.linode.com/v4beta/linode/instances/97436631
method: DELETE
response:
body: '{}'
@@ -1418,7 +1473,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:57:25 GMT
+ - Mon, 11 May 2026 11:38:03 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestIPAddresses_List.yaml b/test/integration/fixtures/TestIPAddresses_List.yaml
index d796994bf..9eca75a98 100644
--- a/test/integration/fixtures/TestIPAddresses_List.yaml
+++ b/test/integration/fixtures/TestIPAddresses_List.yaml
@@ -14,308 +14,360 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
- "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
- "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
- "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
- "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
- "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
"label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
"label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
"label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
"label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
"label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
"label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
"label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
"label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
- "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
"label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
"label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT
- Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []},
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
"label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
"label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
- "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
- "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok",
- "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Disk
- Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}], "page": 1,
- "pages": 1, "results": 32}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -338,7 +390,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:56:39 GMT
+ - Mon, 11 May 2026 11:36:22 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -364,7 +416,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-sea","type":"g6-nanode-1","label":"go-test-ins-wo-disk-1709c5quk2hv","firewall_id":3123597,"booted":false}'
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"go-test-ins-wo-disk-c029y059utmf","firewall_id":15519677,"booted":false}'
form: {}
headers:
Accept:
@@ -376,18 +428,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82378671, "label": "go-test-ins-wo-disk-1709c5quk2hv", "group":
+ body: '{"id": 97436527, "label": "go-test-ins-wo-disk-c029y059utmf", "group":
"", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["172.232.164.10"], "ipv6": "1234::5678/128",
- "image": null, "region": "us-sea", "site_type": "core", "specs": {"disk": 25600,
+ "type": "g6-nanode-1", "ipv4": ["172.237.126.49"], "ipv6": "1234::5678/128",
+ "image": null, "region": "gb-lon", "site_type": "core", "specs": {"disk": 25600,
"memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "92b99c41adc1f22678d5d6ccb0a2a61c2363c222",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": ["Block Storage Encryption", "Maintenance
- Policy"], "interface_generation": "legacy_config", "maintenance_policy": "linode/power_off_on"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "d44b008bf3e219e51abf8242804861ea4391b58a", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -410,7 +463,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:56:40 GMT
+ - Mon, 11 May 2026 11:36:22 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -435,7 +488,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-conf-9135pj15xfvo","devices":{},"interfaces":null}'
+ body: '{"label":"go-test-conf-517bwb50x1yk","devices":{},"interfaces":null}'
form: {}
headers:
Accept:
@@ -444,11 +497,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82378671/configs
+ url: https://api.linode.com/v4beta/linode/instances/97436527/configs
method: POST
response:
- body: '{"id": 85842677, "label": "go-test-conf-9135pj15xfvo", "helpers": {"updatedb_disabled":
- true, "distro": true, "modules_dep": true, "network": false, "devtmpfs_automount":
+ body: '{"id": 100917017, "label": "go-test-conf-517bwb50x1yk", "helpers": {"updatedb_disabled":
+ true, "distro": true, "modules_dep": true, "network": true, "devtmpfs_automount":
true}, "kernel": "linode/latest-64bit", "comments": "", "memory_limit": 0, "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "root_device": "/dev/sda",
"devices": {"sda": null, "sdb": null, "sdc": null, "sdd": null, "sde": null,
@@ -478,7 +531,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:56:40 GMT
+ - Mon, 11 May 2026 11:36:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -512,22 +565,60 @@ interactions:
User-Agent:
- linodego/dev https://github.com/linode/linodego
X-Filter:
- - '{"linode_id":82378671}'
+ - '{"linode_id":97436527}'
url: https://api.linode.com/v4beta/networking/ips?page=1
method: GET
response:
- body: '{"page": 1, "pages": 1, "results": 3, "data": [{"address": "172.232.164.10",
- "gateway": "172.232.164.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
- "ipv4", "public": true, "rdns": "172-232-164-10.ip.linodeusercontent.com", "linode_id":
- 82378671, "interface_id": null, "region": "us-sea", "vpc_nat_1_1": null, "reserved":
- false, "assigned_entity": {"id": 82378671, "type": "linode", "label": "go-test-ins-wo-disk-1709c5quk2hv",
- "url": "/v4/linode/instances/82378671"}}, {"address": "172.105.51.248", "gateway":
- "172.105.51.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4",
- "public": true, "rdns": null, "linode_id": null, "interface_id": null, "region":
- "ap-west", "vpc_nat_1_1": null, "reserved": true, "assigned_entity": null},
- {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask":
- "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id":
- 82378671, "region": "us-sea", "public": true}]}'
+ body: '{"page": 1, "pages": 1, "results": 11, "data": [{"address": "172.239.237.147",
+ "gateway": "172.239.237.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-239-237-147.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": false, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}}, {"address": "172.239.237.148",
+ "gateway": "172.239.237.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-239-237-148.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": false, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}}, {"address": "172.239.237.152",
+ "gateway": "172.239.237.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-239-237-152.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": false, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}}, {"address": "172.239.237.235",
+ "gateway": "172.239.237.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-239-237-235.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": false, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}}, {"address": "172.237.108.97",
+ "gateway": "172.237.108.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-237-108-97.ip.linodeusercontent.com", "linode_id":
+ 97436358, "interface_id": 392139, "region": "gb-lon", "vpc_nat_1_1": {"vpc_id":
+ 476071, "subnet_id": 641507, "address": "192.168.0.2"}, "reserved": false, "assigned_entity":
+ {"id": 97436358, "type": "linode", "label": "go-test-intf-ej9p52d76mb8", "url":
+ "/v4/linode/instances/97436358"}}, {"address": "172.237.108.223", "gateway":
+ "172.237.108.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4",
+ "public": true, "rdns": "172-237-108-223.ip.linodeusercontent.com", "linode_id":
+ 97436358, "interface_id": 392138, "region": "gb-lon", "vpc_nat_1_1": null, "reserved":
+ false, "assigned_entity": {"id": 97436358, "type": "linode", "label": "go-test-intf-ej9p52d76mb8",
+ "url": "/v4/linode/instances/97436358"}}, {"address": "172.237.126.49", "gateway":
+ "172.237.126.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4",
+ "public": true, "rdns": "172-237-126-49.ip.linodeusercontent.com", "linode_id":
+ 97436527, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1": null, "reserved":
+ false, "assigned_entity": {"id": 97436527, "type": "linode", "label": "go-test-ins-wo-disk-c029y059utmf",
+ "url": "/v4/linode/instances/97436527"}}, {"address": "172.233.57.252", "gateway":
+ "172.233.57.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4",
+ "public": true, "rdns": "172-233-57-252.ip.linodeusercontent.com", "linode_id":
+ 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1": null, "reserved":
+ true, "assigned_entity": {"id": 96452210, "type": "linode", "label": "ilykzusd",
+ "url": "/v4/linode/instances/96452210"}, "tags": ["tag-for-reserved-ip"]}, {"address":
+ "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678",
+ "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 96452210, "region":
+ "nl-ams", "public": true}, {"address": "1234::5678", "gateway":
+ "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6",
+ "rdns": null, "linode_id": 97436358, "region": "gb-lon", "public": true}, {"address":
+ "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678",
+ "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 97436527, "region":
+ "gb-lon", "public": true}]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -550,7 +641,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:56:40 GMT
+ - Mon, 11 May 2026 11:36:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -588,18 +679,56 @@ interactions:
url: https://api.linode.com/v4beta/networking/ips?page=1&skip_ipv6_rdns=true
method: GET
response:
- body: '{"page": 1, "pages": 1, "results": 3, "data": [{"address": "172.232.164.10",
- "gateway": "172.232.164.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
- "ipv4", "public": true, "rdns": "172-232-164-10.ip.linodeusercontent.com", "linode_id":
- 82378671, "interface_id": null, "region": "us-sea", "vpc_nat_1_1": null, "reserved":
- false, "assigned_entity": {"id": 82378671, "type": "linode", "label": "go-test-ins-wo-disk-1709c5quk2hv",
- "url": "/v4/linode/instances/82378671"}}, {"address": "172.105.51.248", "gateway":
- "172.105.51.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4",
- "public": true, "rdns": null, "linode_id": null, "interface_id": null, "region":
- "ap-west", "vpc_nat_1_1": null, "reserved": true, "assigned_entity": null},
- {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask":
- "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id":
- 82378671, "region": "us-sea", "public": true}]}'
+ body: '{"page": 1, "pages": 1, "results": 11, "data": [{"address": "172.239.237.147",
+ "gateway": "172.239.237.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-239-237-147.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": false, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}}, {"address": "172.239.237.148",
+ "gateway": "172.239.237.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-239-237-148.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": false, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}}, {"address": "172.239.237.152",
+ "gateway": "172.239.237.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-239-237-152.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": false, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}}, {"address": "172.239.237.235",
+ "gateway": "172.239.237.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-239-237-235.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": false, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}}, {"address": "172.237.108.97",
+ "gateway": "172.237.108.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-237-108-97.ip.linodeusercontent.com", "linode_id":
+ 97436358, "interface_id": 392139, "region": "gb-lon", "vpc_nat_1_1": {"vpc_id":
+ 476071, "subnet_id": 641507, "address": "192.168.0.2"}, "reserved": false, "assigned_entity":
+ {"id": 97436358, "type": "linode", "label": "go-test-intf-ej9p52d76mb8", "url":
+ "/v4/linode/instances/97436358"}}, {"address": "172.237.108.223", "gateway":
+ "172.237.108.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4",
+ "public": true, "rdns": "172-237-108-223.ip.linodeusercontent.com", "linode_id":
+ 97436358, "interface_id": 392138, "region": "gb-lon", "vpc_nat_1_1": null, "reserved":
+ false, "assigned_entity": {"id": 97436358, "type": "linode", "label": "go-test-intf-ej9p52d76mb8",
+ "url": "/v4/linode/instances/97436358"}}, {"address": "172.237.126.49", "gateway":
+ "172.237.126.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4",
+ "public": true, "rdns": "172-237-126-49.ip.linodeusercontent.com", "linode_id":
+ 97436527, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1": null, "reserved":
+ false, "assigned_entity": {"id": 97436527, "type": "linode", "label": "go-test-ins-wo-disk-c029y059utmf",
+ "url": "/v4/linode/instances/97436527"}}, {"address": "172.233.57.252", "gateway":
+ "172.233.57.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4",
+ "public": true, "rdns": "172-233-57-252.ip.linodeusercontent.com", "linode_id":
+ 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1": null, "reserved":
+ true, "assigned_entity": {"id": 96452210, "type": "linode", "label": "ilykzusd",
+ "url": "/v4/linode/instances/96452210"}, "tags": ["tag-for-reserved-ip"]}, {"address":
+ "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678",
+ "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 96452210, "region":
+ "nl-ams", "public": true}, {"address": "1234::5678", "gateway":
+ "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6",
+ "rdns": null, "linode_id": 97436358, "region": "gb-lon", "public": true}, {"address":
+ "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678",
+ "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 97436527, "region":
+ "gb-lon", "public": true}]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -622,7 +751,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:56:40 GMT
+ - Mon, 11 May 2026 11:36:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -662,11 +791,12 @@ interactions:
url: https://api.linode.com/v4beta/networking/ips?page=1
method: GET
response:
- body: '{"page": 1, "pages": 1, "results": 1, "data": [{"address": "172.105.51.248",
- "gateway": "172.105.51.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
- "ipv4", "public": true, "rdns": null, "linode_id": null, "interface_id": null,
- "region": "ap-west", "vpc_nat_1_1": null, "reserved": true, "assigned_entity":
- null}]}'
+ body: '{"page": 1, "pages": 1, "results": 1, "data": [{"address": "172.233.57.252",
+ "gateway": "172.233.57.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-233-57-252.ip.linodeusercontent.com", "linode_id":
+ 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1": null, "reserved":
+ true, "assigned_entity": {"id": 96452210, "type": "linode", "label": "ilykzusd",
+ "url": "/v4/linode/instances/96452210"}, "tags": ["tag-for-reserved-ip"]}]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -685,13 +815,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "323"
+ - "487"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:56:41 GMT
+ - Mon, 11 May 2026 11:36:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -730,12 +860,43 @@ interactions:
url: https://api.linode.com/v4beta/networking/ips?page=1
method: GET
response:
- body: '{"page": 1, "pages": 1, "results": 1, "data": [{"address": "172.232.164.10",
- "gateway": "172.232.164.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
- "ipv4", "public": true, "rdns": "172-232-164-10.ip.linodeusercontent.com", "linode_id":
- 82378671, "interface_id": null, "region": "us-sea", "vpc_nat_1_1": null, "reserved":
- false, "assigned_entity": {"id": 82378671, "type": "linode", "label": "go-test-ins-wo-disk-1709c5quk2hv",
- "url": "/v4/linode/instances/82378671"}}]}'
+ body: '{"page": 1, "pages": 1, "results": 7, "data": [{"address": "172.239.237.147",
+ "gateway": "172.239.237.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-239-237-147.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": false, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}}, {"address": "172.239.237.148",
+ "gateway": "172.239.237.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-239-237-148.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": false, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}}, {"address": "172.239.237.152",
+ "gateway": "172.239.237.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-239-237-152.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": false, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}}, {"address": "172.239.237.235",
+ "gateway": "172.239.237.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-239-237-235.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": false, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}}, {"address": "172.237.108.97",
+ "gateway": "172.237.108.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": "172-237-108-97.ip.linodeusercontent.com", "linode_id":
+ 97436358, "interface_id": 392139, "region": "gb-lon", "vpc_nat_1_1": {"vpc_id":
+ 476071, "subnet_id": 641507, "address": "192.168.0.2"}, "reserved": false, "assigned_entity":
+ {"id": 97436358, "type": "linode", "label": "go-test-intf-ej9p52d76mb8", "url":
+ "/v4/linode/instances/97436358"}}, {"address": "172.237.108.223", "gateway":
+ "172.237.108.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4",
+ "public": true, "rdns": "172-237-108-223.ip.linodeusercontent.com", "linode_id":
+ 97436358, "interface_id": 392138, "region": "gb-lon", "vpc_nat_1_1": null, "reserved":
+ false, "assigned_entity": {"id": 97436358, "type": "linode", "label": "go-test-intf-ej9p52d76mb8",
+ "url": "/v4/linode/instances/97436358"}}, {"address": "172.237.126.49", "gateway":
+ "172.237.126.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4",
+ "public": true, "rdns": "172-237-126-49.ip.linodeusercontent.com", "linode_id":
+ 97436527, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1": null, "reserved":
+ false, "assigned_entity": {"id": 97436527, "type": "linode", "label": "go-test-ins-wo-disk-c029y059utmf",
+ "url": "/v4/linode/instances/97436527"}}]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -753,14 +914,12 @@ interactions:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
- Content-Length:
- - "480"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:56:41 GMT
+ - Mon, 11 May 2026 11:36:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -768,6 +927,7 @@ interactions:
Vary:
- Authorization, X-Filter
- Authorization, X-Filter
+ - Accept-Encoding
X-Accepted-Oauth-Scopes:
- ips:read_only
X-Content-Type-Options:
@@ -794,7 +954,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82378671
+ url: https://api.linode.com/v4beta/linode/instances/97436527
method: DELETE
response:
body: '{}'
@@ -822,7 +982,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 22:56:42 GMT
+ - Mon, 11 May 2026 11:36:25 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestImage_CloudInit.yaml b/test/integration/fixtures/TestImage_CloudInit.yaml
index 381d89283..51b70b1de 100644
--- a/test/integration/fixtures/TestImage_CloudInit.yaml
+++ b/test/integration/fixtures/TestImage_CloudInit.yaml
@@ -14,290 +14,449 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4":
- "172.105.34.5, 172.105.35.5, 172.105.36.5, 172.105.37.5, 172.105.38.5, 172.105.39.5,
- 172.105.40.5, 172.105.41.5, 172.105.42.5, 172.105.43.5", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, CA", "country":
- "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.105.0.5,
- 172.105.3.5, 172.105.4.5, 172.105.5.5, 172.105.6.5, 172.105.7.5, 172.105.8.5,
- 172.105.9.5, 172.105.10.5, 172.105.11.5", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country":
- "au", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4":
- "172.105.166.5, 172.105.169.5, 172.105.168.5, 172.105.172.5, 172.105.162.5,
- 172.105.170.5, 172.105.167.5, 172.105.171.5, 172.105.181.5, 172.105.161.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-iad", "label":
- "Washington, DC", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Cloud Firewall",
- "Managed Databases", "Metadata", "Premium Plans", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "139.144.192.62, 139.144.192.60, 139.144.192.61,
- 139.144.192.53, 139.144.192.54, 139.144.192.67, 139.144.192.69, 139.144.192.66,
- 139.144.192.52, 139.144.192.68", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-ord", "label": "Chicago, IL", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Cloud Firewall", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.0.17,
- 172.232.0.16, 172.232.0.21, 172.232.0.13, 172.232.0.22, 172.232.0.9, 172.232.0.19,
- 172.232.0.20, 172.232.0.15, 172.232.0.18", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "fr-par", "label": "Paris, FR", "country":
- "fr", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Cloud Firewall", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group"], "status": "ok",
- "resolvers": {"ipv4": "172.232.32.21, 172.232.32.23, 172.232.32.17, 172.232.32.18,
- 172.232.32.16, 172.232.32.22, 172.232.32.20, 172.232.32.14, 172.232.32.11, 172.232.32.12",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-sea", "label":
- "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Cloud Firewall", "Managed Databases", "Metadata", "Premium Plans", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "172.232.160.19, 172.232.160.21,
- 172.232.160.17, 172.232.160.15, 172.232.160.18, 172.232.160.8, 172.232.160.12,
- 172.232.160.11, 172.232.160.14, 172.232.160.16", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "br-gru", "label": "Sao Paulo, BR", "country":
- "br", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Cloud Firewall", "Metadata", "Premium Plans",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.0.4, 172.233.0.9,
- 172.233.0.7, 172.233.0.12, 172.233.0.5, 172.233.0.13, 172.233.0.10, 172.233.0.6,
- 172.233.0.8, 172.233.0.11", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country": "nl", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Cloud Firewall", "Metadata", "Premium Plans", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "172.233.33.36, 172.233.33.38,
- 172.233.33.35, 172.233.33.39, 172.233.33.34, 172.233.33.33, 172.233.33.31, 172.233.33.30,
- 172.233.33.37, 172.233.33.32", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country": "se", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Cloud Firewall", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.128.24,
- 172.232.128.26, 172.232.128.20, 172.232.128.22, 172.232.128.25, 172.232.128.19,
- 172.232.128.23, 172.232.128.18, 172.232.128.21, 172.232.128.27", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "es-mad", "label": "Madrid, ES", "country":
- "es", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Cloud Firewall", "VPCs", "Metadata", "Premium
- Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.111.6,
- 172.233.111.17, 172.233.111.21, 172.233.111.25, 172.233.111.19, 172.233.111.12,
- 172.233.111.26, 172.233.111.16, 172.233.111.18, 172.233.111.9", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-maa", "label": "Chennai, IN", "country":
- "in", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Cloud Firewall", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.96.17,
- 172.232.96.26, 172.232.96.19, 172.232.96.20, 172.232.96.25, 172.232.96.21, 172.232.96.18,
- 172.232.96.22, 172.232.96.23, 172.232.96.24", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-osa", "label": "Osaka, JP", "country":
- "jp", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Cloud Firewall", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.64.44,
- 172.233.64.43, 172.233.64.37, 172.233.64.40, 172.233.64.46, 172.233.64.41, 172.233.64.39,
- 172.233.64.42, 172.233.64.45, 172.233.64.38", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "it-mil", "label": "Milan, IT", "country":
- "it", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Cloud Firewall", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.192.19,
- 172.232.192.18, 172.232.192.16, 172.232.192.20, 172.232.192.24, 172.232.192.21,
- 172.232.192.22, 172.232.192.17, 172.232.192.15, 172.232.192.23", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-mia", "label": "Miami, FL", "country":
- "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.160.34,
- 172.233.160.27, 172.233.160.30, 172.233.160.29, 172.233.160.32, 172.233.160.28,
- 172.233.160.33, 172.233.160.26, 172.233.160.25, 172.233.160.31", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "id-cgk", "label": "Jakarta, ID", "country":
- "id", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Cloud Firewall", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.224.23,
- 172.232.224.32, 172.232.224.26, 172.232.224.27, 172.232.224.21, 172.232.224.24,
- 172.232.224.22, 172.232.224.20, 172.232.224.31, 172.232.224.28", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-lax", "label": "Los Angeles, CA", "country":
- "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.128.45,
- 172.233.128.38, 172.233.128.53, 172.233.128.37, 172.233.128.34, 172.233.128.36,
- 172.233.128.33, 172.233.128.39, 172.233.128.43, 172.233.128.44", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-den-edge-1", "label": "Edge - Denver, CO",
- "country": "us", "capabilities": ["Linodes", "Cloud Firewall", "Distributed
- Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53, 173.223.101.53",
- "ipv6": "1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "distributed"}, {"id": "de-ham-edge-1", "label": "Edge - Hamburg, DE", "country":
- "de", "capabilities": ["Linodes", "Cloud Firewall", "Distributed Plans"], "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53, 173.223.101.53", "ipv6": "1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "fr-mrs-edge-1",
- "label": "Edge - Marseille, FR", "country": "fr", "capabilities": ["Linodes",
- "Cloud Firewall", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4":
- "173.223.100.53, 173.223.101.53", "ipv6": "1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "distributed"}, {"id": "za-jnb-edge-1", "label": "Edge - Johannesburg,
- ZA\t", "country": "za", "capabilities": ["Linodes", "Cloud Firewall", "Distributed
- Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53, 173.223.101.53",
- "ipv6": "1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "distributed"}, {"id": "my-kul-edge-1", "label": "Edge - Kuala Lumpur, MY",
- "country": "my", "capabilities": ["Linodes", "Cloud Firewall", "Distributed
- Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53, 173.223.101.53",
- "ipv6": "1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "distributed"}, {"id": "co-bog-edge-1", "label": "Edge - Bogot\u00e1, CO", "country":
- "co", "capabilities": ["Linodes", "Cloud Firewall", "Distributed Plans"], "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53, 173.223.101.53", "ipv6": "1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "mx-qro-edge-1",
- "label": "Edge - Quer\u00e9taro, MX", "country": "mx", "capabilities": ["Linodes",
- "Cloud Firewall", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4":
- "173.223.100.53, 173.223.101.53", "ipv6": "1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "distributed"}, {"id": "us-hou-edge-1", "label": "Edge - Houston,
- TX", "country": "us", "capabilities": ["Linodes", "Cloud Firewall", "Distributed
- Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53, 173.223.101.53",
- "ipv6": "1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "distributed"}, {"id": "cl-scl-edge-1", "label": "Edge - Santiago, CL", "country":
- "cl", "capabilities": ["Linodes", "Cloud Firewall", "Distributed Plans"], "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53, 173.223.101.53", "ipv6": "1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5, 72.14.188.5, 173.255.199.5, 66.228.53.5,
- 96.126.122.5, 96.126.124.5, 96.126.127.5, 198.58.107.5, 198.58.111.5, 23.239.24.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-west", "label": "Fremont, CA", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Cloud Firewall", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
- 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU
- Linodes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "74.207.231.5,
- 173.230.128.5, 173.230.129.5, 173.230.136.5, 173.230.140.5, 66.228.59.5, 66.228.62.5,
- 50.116.35.5, 50.116.41.5, 23.239.18.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Cloud Firewall",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nz-akl-1",
+ "label": "Auckland, NZ", "country": "nz", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-den-1", "label": "Denver, CO", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "de-ham-1", "label": "Hamburg, DE", "country": "de", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "za-jnb-1", "label": "Johannesburg, ZA", "country": "za", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "my-kul-1", "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "co-bog-1", "label": "Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "mx-qro-1", "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities":
+ ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed
+ Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-hou-1", "label": "Houston, TX", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "cl-scl-1", "label": "Santiago, CL", "country": "cl", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-ber-1",
+ "label": "Berlin, DE", "country": "de", "capabilities": ["Linodes", "Disk Encryption",
+ "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance Policy"],
+ "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4":
+ "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "no-osl-1", "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes",
+ "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block
+ Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall",
+ "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium
+ Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-rno-1",
+ "label": "Reno, NV", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
+ "Backups", "NodeBalancers", "GPU Linodes", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "", "ipv6":
+ ""}, "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "co-bog-2",
+ "label": "Bogot\u00e1 2, CO", "country": "co", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "fr-mrs-2", "label": "Marseille 2, FR", "country": "fr", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-mia", "label": "Miami, FL", "country": "us", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "66.228.42.5, 96.126.106.5, 50.116.53.5,
- 50.116.58.5, 50.116.61.5, 50.116.62.5, 66.175.211.5, 97.107.133.4, 207.192.69.4,
- 207.192.69.5", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-west", "label": "London, UK", "country":
- "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "178.79.182.5,
- 176.58.107.5, 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5,
- 109.74.192.20, 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-south",
- "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Cloud Firewall",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "139.162.11.5, 139.162.13.5,
- 139.162.14.5, 139.162.15.5, 139.162.16.5, 139.162.21.5, 139.162.27.5, 103.3.60.18,
- 103.3.60.19, 103.3.60.20", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": null,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "eu-central", "label":
- "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Cloud Firewall", "Vlans",
- "Block Storage Migrations", "Managed Databases", "Metadata", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "139.162.130.5, 139.162.131.5, 139.162.132.5,
- 139.162.133.5, 139.162.134.5, 139.162.135.5, 139.162.136.5, 139.162.137.5, 139.162.138.5,
- 139.162.139.5", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo, JP", "country":
- "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "139.162.66.5,
- 139.162.67.5, 139.162.68.5, 139.162.69.5, 139.162.70.5, 139.162.71.5, 139.162.72.5,
- 139.162.73.5, 139.162.74.5, 139.162.75.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages":
- 1, "results": 34}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 47}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -312,24 +471,23 @@ interactions:
Akamai-Internal-Account:
- '*'
Cache-Control:
- - private, max-age=900
- - private, max-age=60, s-maxage=60
+ - max-age=0, no-cache, no-store
Connection:
- keep-alive
- Content-Length:
- - "24356"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
- Server:
- - nginx/1.14.2
+ Expires:
+ - Wed, 06 May 2026 01:41:43 GMT
+ Pragma:
+ - no-cache
Strict-Transport-Security:
- max-age=31536000
- - max-age=31536000
Vary:
- Authorization, X-Filter
- Authorization, X-Filter
+ - Accept-Encoding
X-Accepted-Oauth-Scopes:
- '*'
X-Content-Type-Options:
@@ -338,19 +496,16 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"region":"ap-west","type":"g6-nanode-1","label":"go-test-ins-837hb70fb4qy","root_pass":"545$7Z)AA9sXKf,sXaf8^*W}jy((rk|96998De3YdYYw~cKZ{9,KB\u003c=84ki`uM7+","image":"linode/debian9","firewall_id":693368,"booted":false}'
+ body: '{"region":"au-mel","type":"g6-nanode-1","label":"go-test-ins-3o0411gu5ucp","root_pass":"U31M3!vA{fc02bspJ''S(H[NFB8G2;eb@2Hi7d/2zu709wg3`\u003cU+p4\\$LW7(Mq?J!","image":"linode/debian12","firewall_id":9689919,"booted":false}'
form: {}
headers:
Accept:
@@ -362,17 +517,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 61877581, "label": "go-test-ins-837hb70fb4qy", "group": "", "status":
+ body: '{"id": 97189517, "label": "go-test-ins-3o0411gu5ucp", "group": "", "status":
"provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["192.46.208.15"], "ipv6": "1234::5678/128",
- "image": "linode/debian9", "region": "ap-west", "site_type": "core", "specs":
- {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000}, "alerts":
- {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota": 80, "io":
- 10000}, "backups": {"enabled": true, "available": false, "schedule": {"day":
- null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled":
- true, "tags": [], "host_uuid": "0e0c1ef96c34828ce8b53e9e04870191260828c7", "has_user_data":
- false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id":
- null}'
+ "type": "g6-nanode-1", "ipv4": ["172.236.44.171"], "ipv6": "1234::5678/128",
+ "image": "linode/debian12", "region": "au-mel", "site_type": "core", "specs":
+ {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "6c9b57be39471d7888b736f623fe5527fd93c553", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -387,22 +544,22 @@ interactions:
Akamai-Internal-Account:
- '*'
Cache-Control:
- - private, max-age=60, s-maxage=60
+ - max-age=0, no-cache, no-store
Connection:
- keep-alive
- Content-Length:
- - "841"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
- Server:
- - nginx/1.14.2
+ Expires:
+ - Wed, 06 May 2026 01:41:45 GMT
+ Pragma:
+ - no-cache
Strict-Transport-Security:
- max-age=31536000
- - max-age=31536000
Vary:
- Authorization, X-Filter
+ - Accept-Encoding
X-Accepted-Oauth-Scopes:
- linodes:read_write
X-Content-Type-Options:
@@ -411,12 +568,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "10"
+ - "20"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -432,15 +586,15 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/61877581/disks?page=1
+ url: https://api.linode.com/v4beta/linode/instances/97189517/disks?page=1
method: GET
response:
- body: '{"data": [{"id": 121429953, "status": "not ready", "label": "Debian 9 Disk",
- "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem":
- "ext4", "size": 25088, "disk_encryption": "disabled"}, {"id": 121429954, "status":
+ body: '{"data": [{"id": 183299550, "status": "not ready", "label": "Debian 12
+ Disk", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem":
+ "ext4", "size": 25088, "disk_encryption": "enabled"}, {"id": 183299552, "status":
"not ready", "label": "512 MB Swap Image", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05", "filesystem": "swap", "size": 512, "disk_encryption":
- "disabled"}], "page": 1, "pages": 1, "results": 2}'
+ "enabled"}], "page": 1, "pages": 1, "results": 2}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -455,21 +609,21 @@ interactions:
Akamai-Internal-Account:
- '*'
Cache-Control:
- - private, max-age=0, s-maxage=0, no-cache, no-store
- - private, max-age=60, s-maxage=60
+ - max-age=0, no-cache, no-store
Connection:
- keep-alive
Content-Length:
- - "457"
+ - "456"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
- Server:
- - nginx/1.14.2
+ Expires:
+ - Wed, 06 May 2026 01:41:45 GMT
+ Pragma:
+ - no-cache
Strict-Transport-Security:
- max-age=31536000
- - max-age=31536000
Vary:
- Authorization, X-Filter
- Authorization, X-Filter
@@ -481,19 +635,16 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"disk_id":121429953,"label":"linodego-test-cloud-init","cloud_init":true,"tags":["test1","test2"]}'
+ body: '{"disk_id":183299550,"label":"linodego-test-cloud-init","cloud_init":true,"tags":["test1","test2"]}'
form: {}
headers:
Accept:
@@ -505,12 +656,14 @@ interactions:
url: https://api.linode.com/v4beta/images
method: POST
response:
- body: '{"id": "private/26428978", "label": "linodego-test-cloud-init", "description":
+ body: '{"id": "private/38637317", "label": "linodego-test-cloud-init", "description":
"", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "size":
- 25088, "created_by": "ychen123", "type": "manual", "tags": ["test1", "test2"],
- "is_public": false, "deprecated": false, "vendor": null, "expiry": null, "eol":
- null, "status": "creating", "capabilities": ["cloud-init"], "regions": [], "total_size":
- 25088}'
+ 25088, "created_by": "zliang27", "type": "manual", "tags": ["test1", "test2"],
+ "is_public": false, "is_shared": false, "deprecated": false, "vendor": null,
+ "expiry": null, "eol": null, "status": "creating", "capabilities": ["cloud-init"],
+ "regions": [], "total_size": 25088, "image_sharing": {"shared_with": {"sharegroup_count":
+ 0, "sharegroup_list_url": "/images/private/38637317/sharegroups"}, "shared_by":
+ null}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -525,20 +678,21 @@ interactions:
Akamai-Internal-Account:
- '*'
Cache-Control:
- - private, max-age=60, s-maxage=60
+ - max-age=0, no-cache, no-store
Connection:
- keep-alive
Content-Length:
- - "413"
+ - "574"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
- Server:
- - nginx/1.14.2
+ Expires:
+ - Wed, 06 May 2026 01:41:45 GMT
+ Pragma:
+ - no-cache
Strict-Transport-Security:
- max-age=31536000
- - max-age=31536000
Vary:
- Authorization, X-Filter
X-Accepted-Oauth-Scopes:
@@ -549,12 +703,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -570,7 +721,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/images/private%2F26428978
+ url: https://api.linode.com/v4beta/images/private%2F38637317
method: DELETE
response:
body: '{}'
@@ -588,7 +739,7 @@ interactions:
Akamai-Internal-Account:
- '*'
Cache-Control:
- - private, max-age=60, s-maxage=60
+ - max-age=0, no-cache, no-store
Connection:
- keep-alive
Content-Length:
@@ -597,11 +748,12 @@ interactions:
- default-src 'none'
Content-Type:
- application/json
- Server:
- - nginx/1.14.2
+ Expires:
+ - Wed, 06 May 2026 01:41:46 GMT
+ Pragma:
+ - no-cache
Strict-Transport-Security:
- max-age=31536000
- - max-age=31536000
Vary:
- Authorization, X-Filter
X-Accepted-Oauth-Scopes:
@@ -612,12 +764,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -633,7 +782,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/61877581
+ url: https://api.linode.com/v4beta/linode/instances/97189517
method: DELETE
response:
body: '{}'
@@ -651,7 +800,7 @@ interactions:
Akamai-Internal-Account:
- '*'
Cache-Control:
- - private, max-age=60, s-maxage=60
+ - max-age=0, no-cache, no-store
Connection:
- keep-alive
Content-Length:
@@ -660,11 +809,12 @@ interactions:
- default-src 'none'
Content-Type:
- application/json
- Server:
- - nginx/1.14.2
+ Expires:
+ - Wed, 06 May 2026 01:41:46 GMT
+ Pragma:
+ - no-cache
Strict-Transport-Security:
- max-age=31536000
- - max-age=31536000
Vary:
- Authorization, X-Filter
X-Accepted-Oauth-Scopes:
@@ -675,12 +825,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestInstance_AddReservedIPToInstance.yaml b/test/integration/fixtures/TestInstance_AddReservedIPToInstance.yaml
index 53392d634..b12408335 100644
--- a/test/integration/fixtures/TestInstance_AddReservedIPToInstance.yaml
+++ b/test/integration/fixtures/TestInstance_AddReservedIPToInstance.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"test-instance-for-ip-reservation","root_pass":"y=6D\u003e36~AV)?z3Q83''VMmW1k+1f5KY=)697Gv5gO$!}haG6@TZonhl+s45JfUa.\u0026"}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:34:23 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"test-instance-for-ip-reservation_1778499263161973000","root_pass":"vgjnA()Z78/{RJ+\u003e4s4sb6K`D,1X)0B1-$RVj4a6Rk1OG0a3u2bF/9(Gt7=vE!:h"}'
form: {}
headers:
Accept:
@@ -14,17 +428,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82372534, "label": "test-instance-for-ip-reservation", "group":
- "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["172.104.215.50"], "ipv6": "1234::5678/128",
- "image": null, "region": "us-east", "site_type": "core", "specs": {"disk": 25600,
- "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
- 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "3e0b72a174519259b7d08494416447addea79cba",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": [], "interface_generation": "legacy_config"}'
+ body: '{"id": 97436424, "label": "test-instance-for-ip-reservation_1778499263161973000",
+ "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.237.126.45"], "ipv6":
+ "1234::5678/128", "image": null, "region": "gb-lon", "site_type":
+ "core", "specs": {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer":
+ 1000, "accelerated_devices": 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out":
+ 10, "transfer_quota": 80, "io": 10000, "system_alerts": [], "user_alerts": []},
+ "backups": {"enabled": false, "available": false, "schedule": {"day": null,
+ "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled":
+ true, "tags": [], "host_uuid": "d44b008bf3e219e51abf8242804861ea4391b58a", "has_user_data":
+ false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id":
+ null, "capabilities": ["Block Storage Encryption", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -47,7 +463,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:04 GMT
+ - Mon, 11 May 2026 11:34:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -72,7 +488,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-east"}'
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -84,10 +500,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "50.116.56.8", "gateway": "50.116.56.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": null, "linode_id": null,
- "interface_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved":
- true, "assigned_entity": null}'
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -106,13 +522,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "270"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:05 GMT
+ - Mon, 11 May 2026 11:34:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -136,7 +552,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"type":"ipv4","public":true,"address":"50.116.56.8"}'
+ body: '{"type":"ipv4","public":true,"address":"172.237.112.182"}'
form: {}
headers:
Accept:
@@ -145,14 +561,15 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372534/ips
+ url: https://api.linode.com/v4beta/linode/instances/97436424/ips
method: POST
response:
- body: '{"address": "50.116.56.8", "gateway": "50.116.56.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": "50-116-56-8.ip.linodeusercontent.com",
- "linode_id": 82372534, "interface_id": null, "region": "us-east", "vpc_nat_1_1":
- null, "reserved": true, "assigned_entity": {"id": 82372534, "type": "linode",
- "label": "test-instance-for-ip-reservation", "url": "/v4/linode/instances/82372534"}}'
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-237-112-182.ip.linodeusercontent.com",
+ "linode_id": 97436424, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": {"id": 97436424, "type": "linode",
+ "label": "test-instance-for-ip-reservation_1778499263161973000", "url": "/v4/linode/instances/97436424"},
+ "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -171,13 +588,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "423"
+ - "464"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:05 GMT
+ - Mon, 11 May 2026 11:34:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -210,26 +627,26 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372534/ips
+ url: https://api.linode.com/v4beta/linode/instances/97436424/ips
method: GET
response:
- body: '{"ipv4": {"public": [{"address": "50.116.56.8", "gateway": "50.116.56.1",
+ body: '{"ipv4": {"public": [{"address": "172.237.112.182", "gateway": "172.237.112.1",
"subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true,
- "rdns": "50-116-56-8.ip.linodeusercontent.com", "linode_id": 82372534, "interface_id":
- null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true, "assigned_entity":
- {"id": 82372534, "type": "linode", "label": "test-instance-for-ip-reservation",
- "url": "/v4/linode/instances/82372534"}}, {"address": "172.104.215.50", "gateway":
- "172.104.215.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4",
- "public": true, "rdns": "172-104-215-50.ip.linodeusercontent.com", "linode_id":
- 82372534, "interface_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved":
- false, "assigned_entity": {"id": 82372534, "type": "linode", "label": "test-instance-for-ip-reservation",
- "url": "/v4/linode/instances/82372534"}}], "private": [], "shared": [], "reserved":
+ "rdns": "172-237-112-182.ip.linodeusercontent.com", "linode_id": 97436424, "interface_id":
+ null, "region": "gb-lon", "vpc_nat_1_1": null, "reserved": true, "assigned_entity":
+ {"id": 97436424, "type": "linode", "label": "test-instance-for-ip-reservation_1778499263161973000",
+ "url": "/v4/linode/instances/97436424"}}, {"address": "172.237.126.45", "gateway":
+ "172.237.126.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4",
+ "public": true, "rdns": "172-237-126-45.ip.linodeusercontent.com", "linode_id":
+ 97436424, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1": null, "reserved":
+ false, "assigned_entity": {"id": 97436424, "type": "linode", "label": "test-instance-for-ip-reservation_1778499263161973000",
+ "url": "/v4/linode/instances/97436424"}}], "private": [], "shared": [], "reserved":
[], "vpc": []}, "ipv6": {"slaac": {"address": "1234::5678",
"gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64,
- "type": "ipv6", "rdns": null, "linode_id": 82372534, "region": "us-east", "public":
+ "type": "ipv6", "rdns": null, "linode_id": 97436424, "region": "gb-lon", "public":
true}, "link_local": {"address": "1234::5678", "gateway": "1234::5678",
"subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns":
- null, "linode_id": 82372534, "region": "us-east", "public": false}, "global":
+ null, "linode_id": 97436424, "region": "gb-lon", "public": false}, "global":
[], "vpc": []}}'
headers:
Access-Control-Allow-Credentials:
@@ -253,7 +670,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:05 GMT
+ - Mon, 11 May 2026 11:34:25 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -288,7 +705,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/50.116.56.8
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
method: DELETE
response:
body: '{}'
@@ -316,7 +733,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:05 GMT
+ - Mon, 11 May 2026 11:34:25 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -349,7 +766,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372534
+ url: https://api.linode.com/v4beta/linode/instances/97436424
method: DELETE
response:
body: '{}'
@@ -377,7 +794,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:07 GMT
+ - Mon, 11 May 2026 11:34:25 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestInstance_AddReservedIPToInstanceVariants.yaml b/test/integration/fixtures/TestInstance_AddReservedIPToInstanceVariants.yaml
index c19e14c0b..35dc86a5b 100644
--- a/test/integration/fixtures/TestInstance_AddReservedIPToInstanceVariants.yaml
+++ b/test/integration/fixtures/TestInstance_AddReservedIPToInstanceVariants.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"test-instance-for-ip-reservation","root_pass":"-H~]1qcz32[;5j^3KT=''sOf~T6-IyJ975~9xmK7?VKo8R,04CvbG$30^l^OAFwsh"}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:34:26 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"test-instance-for-ip-reservation","root_pass":"6[G3r-0k;$yLtLs7JNc0k9B9=g0z6pI1234::5678wT17L\\F`PWX0F\u0026zsmjQ*Ei\u003c(96[2^|4"}'
form: {}
headers:
Accept:
@@ -14,17 +428,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82372537, "label": "test-instance-for-ip-reservation", "group":
+ body: '{"id": 97436426, "label": "test-instance-for-ip-reservation", "group":
"", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["172.104.215.54"], "ipv6": "1234::5678/128",
- "image": null, "region": "us-east", "site_type": "core", "specs": {"disk": 25600,
+ "type": "g6-nanode-1", "ipv4": ["172.237.126.49"], "ipv6": "1234::5678/128",
+ "image": null, "region": "gb-lon", "site_type": "core", "specs": {"disk": 25600,
"memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "3e0b72a174519259b7d08494416447addea79cba",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": [], "interface_generation": "legacy_config"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "63a2ebcdb71d57bdc881b177d10ce94dfcf73c9f", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -47,7 +463,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:08 GMT
+ - Mon, 11 May 2026 11:34:26 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -72,7 +488,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-east"}'
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -84,10 +500,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "45.33.88.15", "gateway": "45.33.88.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": null, "linode_id": null,
- "interface_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved":
- true, "assigned_entity": null}'
+ body: '{"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -106,13 +522,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "269"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:08 GMT
+ - Mon, 11 May 2026 11:34:27 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -136,7 +552,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"type":"ipv4","public":true,"address":"45.33.88.15"}'
+ body: '{"type":"ipv4","public":true,"address":"172.237.112.211"}'
form: {}
headers:
Accept:
@@ -145,14 +561,15 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372537/ips
+ url: https://api.linode.com/v4beta/linode/instances/97436426/ips
method: POST
response:
- body: '{"address": "45.33.88.15", "gateway": "45.33.88.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": "45-33-88-15.ip.linodeusercontent.com",
- "linode_id": 82372537, "interface_id": null, "region": "us-east", "vpc_nat_1_1":
- null, "reserved": true, "assigned_entity": {"id": 82372537, "type": "linode",
- "label": "test-instance-for-ip-reservation", "url": "/v4/linode/instances/82372537"}}'
+ body: '{"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-237-112-211.ip.linodeusercontent.com",
+ "linode_id": 97436426, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": {"id": 97436426, "type": "linode",
+ "label": "test-instance-for-ip-reservation", "url": "/v4/linode/instances/97436426"},
+ "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -171,13 +588,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "422"
+ - "444"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:09 GMT
+ - Mon, 11 May 2026 11:34:27 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -201,7 +618,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"type":"ipv4","public":false,"address":"45.33.88.15"}'
+ body: '{"type":"ipv4","public":false,"address":"172.237.112.211"}'
form: {}
headers:
Accept:
@@ -210,7 +627,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372537/ips
+ url: https://api.linode.com/v4beta/linode/instances/97436426/ips
method: POST
response:
body: '{"errors": [{"reason": "Cannot reserve a private address.", "field": "address"}]}'
@@ -230,7 +647,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:09 GMT
+ - Mon, 11 May 2026 11:34:27 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -247,7 +664,7 @@ interactions:
code: 400
duration: ""
- request:
- body: '{"region":"us-east"}'
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -259,10 +676,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "45.33.88.68", "gateway": "45.33.88.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": null, "linode_id": null,
- "interface_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved":
- true, "assigned_entity": null}'
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -281,13 +698,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "269"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:09 GMT
+ - Mon, 11 May 2026 11:34:28 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -311,7 +728,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"type":"ipv4","public":true,"address":"45.33.88.68"}'
+ body: '{"type":"ipv4","public":true,"address":"172.237.112.182"}'
form: {}
headers:
Accept:
@@ -340,7 +757,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:09 GMT
+ - Mon, 11 May 2026 11:34:28 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -366,7 +783,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/45.33.88.68
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
method: DELETE
response:
body: '{}'
@@ -394,7 +811,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:09 GMT
+ - Mon, 11 May 2026 11:34:28 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -418,7 +835,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"type":"ipv4","public":true,"address":"45.33.88.15"}'
+ body: '{"type":"ipv4","public":true,"address":"172.237.112.211"}'
form: {}
headers:
Accept:
@@ -447,7 +864,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:09 GMT
+ - Mon, 11 May 2026 11:34:29 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -464,7 +881,7 @@ interactions:
code: 404
duration: ""
- request:
- body: '{"type":"ipv4","public":true,"address":"45.33.88.15"}'
+ body: '{"type":"ipv4","public":true,"address":"172.237.112.211"}'
form: {}
headers:
Accept:
@@ -473,7 +890,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372537/ips
+ url: https://api.linode.com/v4beta/linode/instances/97436426/ips
method: POST
response:
body: '{"errors": [{"reason": "Address must be reserved and must be currently
@@ -494,7 +911,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:09 GMT
+ - Mon, 11 May 2026 11:34:29 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -520,7 +937,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372537/ips
+ url: https://api.linode.com/v4beta/linode/instances/97436426/ips
method: POST
response:
body: '{"errors": [{"reason": "Address must be reserved and must be currently
@@ -541,7 +958,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:09 GMT
+ - Mon, 11 May 2026 11:34:29 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -558,7 +975,7 @@ interactions:
code: 400
duration: ""
- request:
- body: '{"region":"ca-central"}'
+ body: '{"region":"se-sto"}'
form: {}
headers:
Accept:
@@ -570,10 +987,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "172.105.98.39", "gateway": "172.105.98.1", "subnet_mask":
+ body: '{"address": "172.238.255.88", "gateway": "172.238.255.1", "subnet_mask":
"255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
- "linode_id": null, "interface_id": null, "region": "ca-central", "vpc_nat_1_1":
- null, "reserved": true, "assigned_entity": null}'
+ "linode_id": null, "interface_id": null, "region": "se-sto", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -592,13 +1009,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "276"
+ - "286"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:10 GMT
+ - Mon, 11 May 2026 11:34:30 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -622,7 +1039,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"type":"ipv4","public":true,"address":"172.105.98.39"}'
+ body: '{"type":"ipv4","public":true,"address":"172.238.255.88"}'
form: {}
headers:
Accept:
@@ -631,7 +1048,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372537/ips
+ url: https://api.linode.com/v4beta/linode/instances/97436426/ips
method: POST
response:
body: '{"errors": [{"reason": "Address must belong to same region as linode.",
@@ -652,7 +1069,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:10 GMT
+ - Mon, 11 May 2026 11:34:30 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -669,7 +1086,7 @@ interactions:
code: 400
duration: ""
- request:
- body: '{"type":"ipv6","public":true,"address":"45.33.88.15"}'
+ body: '{"type":"ipv6","public":true,"address":"172.237.112.211"}'
form: {}
headers:
Accept:
@@ -678,7 +1095,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372537/ips
+ url: https://api.linode.com/v4beta/linode/instances/97436426/ips
method: POST
response:
body: '{"errors": [{"reason": "Only addresses of type ipv4 are currently supported."},
@@ -700,7 +1117,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:10 GMT
+ - Mon, 11 May 2026 11:34:30 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -717,7 +1134,7 @@ interactions:
code: 400
duration: ""
- request:
- body: '{"type":"ipv4","public":false,"address":"45.33.88.15"}'
+ body: '{"type":"ipv4","public":false,"address":"172.237.112.211"}'
form: {}
headers:
Accept:
@@ -726,7 +1143,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372537/ips
+ url: https://api.linode.com/v4beta/linode/instances/97436426/ips
method: POST
response:
body: '{"errors": [{"reason": "Cannot reserve a private address.", "field": "address"}]}'
@@ -746,7 +1163,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:10 GMT
+ - Mon, 11 May 2026 11:34:30 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -772,7 +1189,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372537/ips
+ url: https://api.linode.com/v4beta/linode/instances/97436426/ips
method: POST
response:
body: '{"errors": [{"reason": "Must provide a valid reserved address", "field":
@@ -793,7 +1210,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:10 GMT
+ - Mon, 11 May 2026 11:34:31 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -819,7 +1236,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372537/ips
+ url: https://api.linode.com/v4beta/linode/instances/97436426/ips
method: POST
response:
body: '{"errors": [{"reason": "Must provide a valid reserved address", "field":
@@ -840,7 +1257,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:10 GMT
+ - Mon, 11 May 2026 11:34:31 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -866,7 +1283,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372537/ips
+ url: https://api.linode.com/v4beta/linode/instances/97436426/ips
method: POST
response:
body: '{"errors": [{"reason": "Must provide a valid reserved address", "field":
@@ -887,7 +1304,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:10 GMT
+ - Mon, 11 May 2026 11:34:31 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -913,7 +1330,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372537/ips
+ url: https://api.linode.com/v4beta/linode/instances/97436426/ips
method: POST
response:
body: '{"errors": [{"reason": "Must provide a valid reserved address", "field":
@@ -934,7 +1351,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:10 GMT
+ - Mon, 11 May 2026 11:34:32 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -960,7 +1377,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/172.105.98.39
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.238.255.88
method: DELETE
response:
body: '{}'
@@ -988,7 +1405,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:11 GMT
+ - Mon, 11 May 2026 11:34:32 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1021,7 +1438,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/45.33.88.15
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.211
method: DELETE
response:
body: '{}'
@@ -1049,7 +1466,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:11 GMT
+ - Mon, 11 May 2026 11:34:32 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -1082,7 +1499,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372537
+ url: https://api.linode.com/v4beta/linode/instances/97436426
method: DELETE
response:
body: '{}'
@@ -1110,7 +1527,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:12 GMT
+ - Mon, 11 May 2026 11:34:33 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestInstance_ConfigInterface_Update.yaml b/test/integration/fixtures/TestInstance_ConfigInterface_Update.yaml
index 6b27dad88..8d949dedb 100644
--- a/test/integration/fixtures/TestInstance_ConfigInterface_Update.yaml
+++ b/test/integration/fixtures/TestInstance_ConfigInterface_Update.yaml
@@ -14,308 +14,449 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nz-akl-1",
+ "label": "Auckland, NZ", "country": "nz", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-den-1", "label": "Denver, CO", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "de-ham-1", "label": "Hamburg, DE", "country": "de", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "za-jnb-1", "label": "Johannesburg, ZA", "country": "za", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "my-kul-1", "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "co-bog-1", "label": "Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "mx-qro-1", "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities":
+ ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed
+ Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-hou-1", "label": "Houston, TX", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "cl-scl-1", "label": "Santiago, CL", "country": "cl", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-ber-1",
+ "label": "Berlin, DE", "country": "de", "capabilities": ["Linodes", "Disk Encryption",
+ "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance Policy"],
+ "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4":
+ "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "no-osl-1", "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes",
+ "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block
+ Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall",
+ "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium
+ Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-rno-1",
+ "label": "Reno, NV", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
+ "Backups", "NodeBalancers", "GPU Linodes", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "", "ipv6":
+ ""}, "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "co-bog-2",
+ "label": "Bogot\u00e1 2, CO", "country": "co", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "fr-mrs-2", "label": "Marseille 2, FR", "country": "fr", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-mia", "label": "Miami, FL", "country": "us", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
"label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
"label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
"label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
"label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
"status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
"label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
"label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
"label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
"label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
"label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
"label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
"label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
- "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
- "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
- "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
- "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
- "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
- "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
- "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT
- Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []},
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
- "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
- "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
- "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
"label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok",
- "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
"ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
{"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Disk
- Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}], "page": 1,
- "pages": 1, "results": 32}'
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 47}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -338,7 +479,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:17 GMT
+ - Wed, 06 May 2026 01:42:16 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -364,7 +505,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-iad","type":"g6-nanode-1","label":"go-test-ins-wo-disk-5w5bd648nt6s","firewall_id":3118155,"booted":false}'
+ body: '{"region":"au-mel","type":"g6-nanode-1","label":"go-test-ins-wo-disk-frs3e56081kn","firewall_id":9690256,"booted":false}'
form: {}
headers:
Accept:
@@ -376,18 +517,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82372490, "label": "go-test-ins-wo-disk-5w5bd648nt6s", "group":
+ body: '{"id": 97189528, "label": "go-test-ins-wo-disk-frs3e56081kn", "group":
"", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["172.234.34.68"], "ipv6": "1234::5678/128",
- "image": null, "region": "us-iad", "site_type": "core", "specs": {"disk": 25600,
+ "type": "g6-nanode-1", "ipv4": ["172.236.53.76"], "ipv6": "1234::5678/128",
+ "image": null, "region": "au-mel", "site_type": "core", "specs": {"disk": 25600,
"memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "a43b13eb39143250ac287a23d5f4b7a6b9cbdcb8",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": ["Block Storage Encryption"], "interface_generation":
- "legacy_config"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "6c9b57be39471d7888b736f623fe5527fd93c553", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -410,7 +552,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:18 GMT
+ - Wed, 06 May 2026 01:42:17 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -435,7 +577,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-conf-2w36vde54y4t","devices":{},"interfaces":null}'
+ body: '{"label":"go-test-conf-yj19236bv7xh","devices":{},"interfaces":null}'
form: {}
headers:
Accept:
@@ -444,10 +586,10 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372490/configs
+ url: https://api.linode.com/v4beta/linode/instances/97189528/configs
method: POST
response:
- body: '{"id": 85836401, "label": "go-test-conf-2w36vde54y4t", "helpers": {"updatedb_disabled":
+ body: '{"id": 100667257, "label": "go-test-conf-yj19236bv7xh", "helpers": {"updatedb_disabled":
true, "distro": true, "modules_dep": true, "network": false, "devtmpfs_automount":
true}, "kernel": "linode/latest-64bit", "comments": "", "memory_limit": 0, "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "root_device": "/dev/sda",
@@ -472,13 +614,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "540"
+ - "541"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:18 GMT
+ - Wed, 06 May 2026 01:42:17 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -502,7 +644,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-vpc-1755896298637431000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1755896298637567000","ipv4":"192.168.0.0/25"}]}'
+ body: '{"label":"go-test-vpc-1778031737830980000","region":"au-mel","subnets":[{"label":"linodego-vpc-test-1778031737831097000","ipv4":"192.168.0.0/25"}]}'
form: {}
headers:
Accept:
@@ -514,11 +656,13 @@ interactions:
url: https://api.linode.com/v4beta/vpcs
method: POST
response:
- body: '{"id": 234045, "label": "go-test-vpc-1755896298637431000", "description":
- "", "region": "us-iad", "ipv6": null, "subnets": [{"id": 241126, "label": "linodego-vpc-test-1755896298637567000",
- "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "databases": [], "nodebalancers":
- [], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}], "created":
- "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}'
+ body: '{"id": 471961, "label": "go-test-vpc-1778031737830980000", "description":
+ "", "region": "au-mel", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "172.16.0.0/12"},
+ {"range": "192.168.0.0/16"}], "ipv6": null, "subnets": [{"id": 629500, "label":
+ "linodego-vpc-test-1778031737831097000", "ipv4": "192.168.0.0/25", "ipv6": null,
+ "linodes": [], "databases": [], "nodebalancers": [], "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05"}], "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05"}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -537,13 +681,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "419"
+ - "511"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:19 GMT
+ - Wed, 06 May 2026 01:42:18 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -567,7 +711,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"purpose":"vpc","subnet_id":241126,"ip_ranges":["192.168.0.5/32"]}'
+ body: '{"purpose":"vpc","subnet_id":629500,"ip_ranges":["192.168.0.5/32"]}'
form: {}
headers:
Accept:
@@ -576,11 +720,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372490/configs/85836401/interfaces
+ url: https://api.linode.com/v4beta/linode/instances/97189528/configs/100667257/interfaces
method: POST
response:
- body: '{"id": 6763962, "purpose": "vpc", "primary": false, "active": false, "ipam_address":
- null, "label": null, "vpc_id": 234045, "subnet_id": 241126, "ipv4": {"vpc":
+ body: '{"id": 12282598, "purpose": "vpc", "primary": false, "active": false, "ipam_address":
+ null, "label": null, "vpc_id": 471961, "subnet_id": 629500, "ipv4": {"vpc":
"192.168.0.2", "nat_1_1": null}, "ip_ranges": ["192.168.0.5/32"], "ipv6": null}'
headers:
Access-Control-Allow-Credentials:
@@ -600,13 +744,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "240"
+ - "241"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:19 GMT
+ - Wed, 06 May 2026 01:42:18 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -639,11 +783,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372490/configs/85836401/interfaces/6763962
+ url: https://api.linode.com/v4beta/linode/instances/97189528/configs/100667257/interfaces/12282598
method: PUT
response:
- body: '{"id": 6763962, "purpose": "vpc", "primary": true, "active": false, "ipam_address":
- null, "label": null, "vpc_id": 234045, "subnet_id": 241126, "ipv4": {"vpc":
+ body: '{"id": 12282598, "purpose": "vpc", "primary": true, "active": false, "ipam_address":
+ null, "label": null, "vpc_id": 471961, "subnet_id": 629500, "ipv4": {"vpc":
"192.168.0.2", "nat_1_1": null}, "ip_ranges": ["192.168.0.5/32"], "ipv6": null}'
headers:
Access-Control-Allow-Credentials:
@@ -663,13 +807,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "239"
+ - "240"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:19 GMT
+ - Wed, 06 May 2026 01:42:18 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -702,12 +846,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372490/configs/85836401/interfaces/6763962
+ url: https://api.linode.com/v4beta/linode/instances/97189528/configs/100667257/interfaces/12282598
method: PUT
response:
- body: '{"id": 6763962, "purpose": "vpc", "primary": true, "active": false, "ipam_address":
- null, "label": null, "vpc_id": 234045, "subnet_id": 241126, "ipv4": {"vpc":
- "192.168.0.10", "nat_1_1": "172.234.34.68"}, "ip_ranges": [], "ipv6": null}'
+ body: '{"id": 12282598, "purpose": "vpc", "primary": true, "active": false, "ipam_address":
+ null, "label": null, "vpc_id": 471961, "subnet_id": 629500, "ipv4": {"vpc":
+ "192.168.0.10", "nat_1_1": "172.236.53.76"}, "ip_ranges": [], "ipv6": null}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -726,13 +870,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "235"
+ - "236"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:19 GMT
+ - Wed, 06 May 2026 01:42:19 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -765,7 +909,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372490
+ url: https://api.linode.com/v4beta/linode/instances/97189528
method: DELETE
response:
body: '{}'
@@ -793,7 +937,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:21 GMT
+ - Wed, 06 May 2026 01:42:19 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -826,7 +970,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/234045
+ url: https://api.linode.com/v4beta/vpcs/471961
method: DELETE
response:
body: '{}'
@@ -854,7 +998,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:22 GMT
+ - Wed, 06 May 2026 01:42:20 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestInstance_CreateWithAlreadyAssignedReservedIP.yaml b/test/integration/fixtures/TestInstance_CreateWithAlreadyAssignedReservedIP.yaml
index a1c86748c..4ad480cc2 100644
--- a/test/integration/fixtures/TestInstance_CreateWithAlreadyAssignedReservedIP.yaml
+++ b/test/integration/fixtures/TestInstance_CreateWithAlreadyAssignedReservedIP.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east"}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:33:07 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -14,10 +428,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "50.116.56.8", "gateway": "50.116.56.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": null, "linode_id": null,
- "interface_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved":
- true, "assigned_entity": null}'
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -36,13 +450,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "270"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:50 GMT
+ - Mon, 11 May 2026 11:33:07 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -66,7 +480,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-772svl34z7ej","root_pass":"z9#1T86xH9](x)32[2(3bz2}M\u003ecLX9yoFu.x/}26vUiO1nSJDZ|$M]!f0YTu2G*p","image":"linode/alpine3.20","booted":false,"ipv4":["50.116.56.8"],"interfaces":[{"purpose":"public"}]}'
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-sw8h5g094xs0","root_pass":"\u003cGqOPUW{-(=w5\\4u3|34d]1I7F6e89ag`xIX*3wU+f8i)WS/jvL8I~h/2d64Lh`G","image":"linode/alpine3.23","booted":false,"ipv4":["172.237.112.182"],"interfaces":[{"purpose":"public"}]}'
form: {}
headers:
Accept:
@@ -78,17 +492,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82372521, "label": "go-test-ins-reserved-ip-772svl34z7ej", "group":
+ body: '{"id": 97436383, "label": "go-test-ins-reserved-ip-sw8h5g094xs0", "group":
"", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["50.116.56.8"], "ipv6": "1234::5678/128",
- "image": "linode/alpine3.20", "region": "us-east", "site_type": "core", "specs":
+ "type": "g6-nanode-1", "ipv4": ["172.237.112.182"], "ipv6": "1234::5678/128",
+ "image": "linode/alpine3.23", "region": "gb-lon", "site_type": "core", "specs":
{"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "3e0b72a174519259b7d08494416447addea79cba",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": [], "interface_generation": "legacy_config"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "b3883b8ab56bb4aa67c1c6f28175f71e7fa6d328", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -111,7 +527,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:52 GMT
+ - Mon, 11 May 2026 11:33:09 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -136,7 +552,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-pi4p2jx48a10","root_pass":"*d5yTayuS@\u003c+G=i9t1~!Q{G*A6WEie0Q]n0666iI22x95`)$FuS0nNIb5EYq5{`{","image":"linode/alpine3.20","booted":false,"ipv4":["50.116.56.8"],"interfaces":[{"purpose":"public"}]}'
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-4797ewrh1ao0","root_pass":"\u003e7vp*])E$qoB8BNhQ154f6aG*GS\\@8AN2z697|H0Y33VO^]\\+nn/emb95.Va!xZf","image":"linode/alpine3.23","booted":false,"ipv4":["172.237.112.182"],"interfaces":[{"purpose":"public"}]}'
form: {}
headers:
Accept:
@@ -166,7 +582,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:52 GMT
+ - Mon, 11 May 2026 11:33:10 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -192,7 +608,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372521
+ url: https://api.linode.com/v4beta/linode/instances/97436383
method: DELETE
response:
body: '{}'
@@ -220,7 +636,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:54 GMT
+ - Mon, 11 May 2026 11:33:11 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -253,7 +669,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/50.116.56.8
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
method: DELETE
response:
body: '{}'
@@ -281,7 +697,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:54 GMT
+ - Mon, 11 May 2026 11:33:11 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestInstance_CreateWithEmptyIPAddress.yaml b/test/integration/fixtures/TestInstance_CreateWithEmptyIPAddress.yaml
index 386b26bb0..7cf546d00 100644
--- a/test/integration/fixtures/TestInstance_CreateWithEmptyIPAddress.yaml
+++ b/test/integration/fixtures/TestInstance_CreateWithEmptyIPAddress.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-0o62pm90bd4t","root_pass":"VCfbt8Zxf+;ZSjTO0Q*p?rX365R5.l4\u003e8Ki2M0/Z\u003eln3Wj\\3(s2*WD1z$9[h@7}`","image":"linode/alpine3.20","booted":false,"ipv4":[""],"interfaces":[{"purpose":"public"}]}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:33:14 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-j817g9xun2v0","root_pass":"RmR;9Ix65l94y49\u003es)*@.3R4Sx9pX{9jD\\n5''L/;R6UTxg\\2u68GbprXYg$:N=+B","image":"linode/alpine3.23","booted":false,"ipv4":[""],"interfaces":[{"purpose":"public"}]}'
form: {}
headers:
Accept:
@@ -32,7 +446,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:56 GMT
+ - Mon, 11 May 2026 11:33:14 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestInstance_CreateWithLinodeInterfaces.yaml b/test/integration/fixtures/TestInstance_CreateWithLinodeInterfaces.yaml
index c9f189648..15e458673 100644
--- a/test/integration/fixtures/TestInstance_CreateWithLinodeInterfaces.yaml
+++ b/test/integration/fixtures/TestInstance_CreateWithLinodeInterfaces.yaml
@@ -11,572 +11,37 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/regions?page=1
+ url: https://api.devcloud.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
- ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
- "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
- T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases",
- "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nz-akl-1",
- "label": "Auckland, NZ", "country": "nz", "capabilities": ["Linodes", "Disk
- Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans",
- "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "us-den-1", "label": "Denver, CO", "country": "us", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "de-ham-1", "label": "Hamburg, DE", "country": "de", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "za-jnb-1", "label": "Johannesburg, ZA", "country": "za", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "my-kul-1", "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "co-bog-1", "label": "Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "mx-qro-1", "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities":
- ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Distributed Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0, "maximum_linodes_per_flexible_pg": 0}, "site_type":
- "distributed"}, {"id": "us-hou-1", "label": "Houston, TX", "country": "us",
- "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs",
- "Metadata", "Distributed Plans", "Maintenance Policy"], "monitors": {"alerts":
- [], "metrics": []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
+ body: '{"data": [{"id": "pl-labkrk-2", "label": "Krakow, PL", "country": "pl",
+ "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
+ "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "Network LoadBalancer",
+ "ACLP Logs Datacenter LKE-E", "Cloud Firewall Prefix List Current References"],
+ "monitors": {"alerts": ["Linodes", "Managed Databases", "Network LoadBalancer",
+ "NodeBalancers", "Object Storage", "logs"], "metrics": ["Linodes", "Managed
+ Databases", "Network LoadBalancer", "NodeBalancers", "Object Storage", "logs"]},
+ "status": "ok", "resolvers": {"ipv4": "172.24.224.240,172.24.224.229,172.24.224.236,172.24.224.238,172.24.224.235,172.24.224.241,172.24.224.230,172.24.224.239,172.24.224.233,172.24.224.234",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-labedgeeat-2",
+ "label": "East Wenatchee, US", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC
+ IPv6 Stack", "Metadata", "Distributed Plans", "Linode Interfaces"], "monitors":
+ {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
"ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
0, "maximum_linodes_per_pg": 0, "maximum_linodes_per_flexible_pg": 0}, "site_type":
- "distributed"}, {"id": "cl-scl-1", "label": "Santiago, CL", "country": "cl",
- "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs",
- "Metadata", "Distributed Plans", "Maintenance Policy"], "monitors": {"alerts":
+ "distributed"}, {"id": "us-labedgeeat-3", "label": "East Wenatchee, US", "country":
+ "us", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans",
+ "Metadata", "Distributed Plans", "Linode Interfaces"], "monitors": {"alerts":
[], "metrics": []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
"ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
0, "maximum_linodes_per_pg": 0, "maximum_linodes_per_flexible_pg": 0}, "site_type":
- "distributed"}, {"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
- ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC
- Dual Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
- "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
- "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
- "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
- "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
- T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases",
- "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
- "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
- "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-ber-1",
- "label": "Berlin, DE", "country": "de", "capabilities": ["Linodes", "Disk Encryption",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans", "Maintenance
- Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "no-osl-1", "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes",
- "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block
- Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall",
- "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
- "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
- "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
- "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases",
- "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
- "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "co-bog-2",
- "label": "Bogot\u00e1 2, CO", "country": "co", "capabilities": ["Linodes", "Disk
- Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans",
- "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "fr-mrs-2", "label": "Marseille 2, FR", "country": "fr", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
- "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "us-mia", "label": "Miami, FL", "country": "us", "capabilities": ["Linodes",
- "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
- "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
- "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
- Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
- Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
- "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
- "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
- Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
- "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
- "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
- "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
- "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
- "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
- "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
- Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
- "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
- T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
- "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
- Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
- "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
- Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
- Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
- "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
- Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": ["NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
- "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
- "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
- 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
- "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 46}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Tue, 24 Mar 2026 17:06:58 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- - Accept-Encoding
- X-Accepted-Oauth-Scopes:
- - '*'
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1840"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/account/availability?page=1
- method: GET
- response:
- body: '{"data": [{"region": "us-central", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "us-west", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-southeast", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "us-east", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "eu-west", "available": [], "unavailable": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "ap-south", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "eu-central", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "ap-northeast", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "ap-west", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "ca-central", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "ap-southeast", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-iad", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "us-ord", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "fr-par", "available": ["Linodes", "NodeBalancers"], "unavailable": ["Block
- Storage", "Kubernetes"]}, {"region": "us-sea", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "br-gru", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "nl-ams", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "se-sto", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "es-mad", "available": ["Linodes", "Kubernetes"], "unavailable": ["NodeBalancers",
- "Block Storage"]}, {"region": "in-maa", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "jp-osa", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "it-mil", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "us-mia", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "id-cgk", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "us-lax", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "nz-akl-1", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-den-1", "available": ["Linodes"], "unavailable": ["NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "de-ham-1", "available": ["Linodes"],
- "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region":
- "za-jnb-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block
- Storage", "Kubernetes"]}, {"region": "my-kul-1", "available": ["Linodes"], "unavailable":
- ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region": "co-bog-1", "available":
- ["Linodes"], "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]},
- {"region": "mx-qro-1", "available": ["Linodes"], "unavailable": ["NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "us-hou-1", "available": ["Linodes"],
- "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region":
- "cl-scl-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block
- Storage", "Kubernetes"]}, {"region": "gb-lon", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "au-mel", "available":
- ["Linodes", "Kubernetes"], "unavailable": ["NodeBalancers", "Block Storage"]},
- {"region": "in-bom-2", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "de-fra-2", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "sg-sin-2", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "jp-tyo-3", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "de-ber-1", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "no-osl-1", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "us-iad-2", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "fr-par-2", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "co-bog-2", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "fr-mrs-2", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}], "page": 1, "pages": 1, "results":
- 46}'
+ "distributed"}], "page": 1, "pages": 1, "results": 3}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -591,152 +56,23 @@ interactions:
Akamai-Internal-Account:
- '*'
Cache-Control:
- - max-age=0, no-cache, no-store
+ - private, max-age=900
+ - private, max-age=60, s-maxage=60
Connection:
- keep-alive
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
- Expires:
- - Tue, 24 Mar 2026 17:06:58 GMT
- Pragma:
- - no-cache
+ Server:
+ - nginx
Strict-Transport-Security:
- max-age=31536000
Vary:
- Authorization, X-Filter
- Authorization, X-Filter
- - Accept-Encoding
X-Accepted-Oauth-Scopes:
- - account:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1840"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/account/availability?page=1
- method: GET
- response:
- body: '{"data": [{"region": "us-central", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "us-west", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-southeast", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "us-east", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "eu-west", "available": [], "unavailable": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "ap-south", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "eu-central", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "ap-northeast", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "ap-west", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "ca-central", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "ap-southeast", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-iad", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "us-ord", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "fr-par", "available": ["Linodes", "NodeBalancers"], "unavailable": ["Block
- Storage", "Kubernetes"]}, {"region": "us-sea", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "br-gru", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "nl-ams", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "se-sto", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "es-mad", "available": ["Linodes", "Kubernetes"], "unavailable": ["NodeBalancers",
- "Block Storage"]}, {"region": "in-maa", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "jp-osa", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "it-mil", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "us-mia", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "id-cgk", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "us-lax", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "nz-akl-1", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-den-1", "available": ["Linodes"], "unavailable": ["NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "de-ham-1", "available": ["Linodes"],
- "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region":
- "za-jnb-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block
- Storage", "Kubernetes"]}, {"region": "my-kul-1", "available": ["Linodes"], "unavailable":
- ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region": "co-bog-1", "available":
- ["Linodes"], "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]},
- {"region": "mx-qro-1", "available": ["Linodes"], "unavailable": ["NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "us-hou-1", "available": ["Linodes"],
- "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region":
- "cl-scl-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block
- Storage", "Kubernetes"]}, {"region": "gb-lon", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "au-mel", "available":
- ["Linodes", "Kubernetes"], "unavailable": ["NodeBalancers", "Block Storage"]},
- {"region": "in-bom-2", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "de-fra-2", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "sg-sin-2", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "jp-tyo-3", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "de-ber-1", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "no-osl-1", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "us-iad-2", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "fr-par-2", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "co-bog-2", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "fr-mrs-2", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}], "page": 1, "pages": 1, "results":
- 46}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Tue, 24 Mar 2026 17:06:58 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- - Accept-Encoding
- X-Accepted-Oauth-Scopes:
- - account:read_only
X-Content-Type-Options:
- nosniff
X-Frame-Options:
@@ -745,14 +81,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "400"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-test-vpc-1774372018772667000","region":"au-mel","subnets":[{"label":"linodego-vpc-test-1774372018952471000","ipv4":"192.168.0.0/25"}]}'
+ body: '{"label":"go-test-vpc-1782810640594955000","region":"pl-labkrk-2","subnets":[{"label":"linodego-vpc-test-1782810640594977000","ipv4":"192.168.0.0/25"}]}'
form: {}
headers:
Accept:
@@ -761,14 +97,15 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs
+ url: https://api.devcloud.linode.com/v4beta/vpcs
method: POST
response:
- body: '{"id": 422885, "label": "go-test-vpc-1774372018772667000", "description":
- "", "region": "au-mel", "ipv6": null, "subnets": [{"id": 523986, "label": "linodego-vpc-test-1774372018952471000",
+ body: '{"id": 510567, "label": "go-test-vpc-1782810640594955000", "description":
+ "", "region": "pl-labkrk-2", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "192.168.0.0/17"}],
+ "ipv6": null, "subnets": [{"id": 381571, "label": "linodego-vpc-test-1782810640594977000",
"ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "databases": [], "nodebalancers":
- [], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}], "created":
- "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}'
+ [], "vpc_type": "regular", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}],
+ "vpc_type": "regular", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -783,19 +120,17 @@ interactions:
Akamai-Internal-Account:
- '*'
Cache-Control:
- - max-age=0, no-cache, no-store
+ - private, max-age=60, s-maxage=60
Connection:
- keep-alive
Content-Length:
- - "419"
+ - "534"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
- Expires:
- - Tue, 24 Mar 2026 17:06:59 GMT
- Pragma:
- - no-cache
+ Server:
+ - nginx
Strict-Transport-Security:
- max-age=31536000
Vary:
@@ -810,141 +145,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/account/availability?page=1
- method: GET
- response:
- body: '{"data": [{"region": "us-central", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "us-west", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-southeast", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "us-east", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "eu-west", "available": [], "unavailable": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "ap-south", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "eu-central", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "ap-northeast", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "ap-west", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "ca-central", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "ap-southeast", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-iad", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "us-ord", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "fr-par", "available": ["Linodes", "NodeBalancers"], "unavailable": ["Block
- Storage", "Kubernetes"]}, {"region": "us-sea", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "br-gru", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "nl-ams", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "se-sto", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "es-mad", "available": ["Linodes", "Kubernetes"], "unavailable": ["NodeBalancers",
- "Block Storage"]}, {"region": "in-maa", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "jp-osa", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "it-mil", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "us-mia", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "id-cgk", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "us-lax", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "nz-akl-1", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "us-den-1", "available": ["Linodes"], "unavailable": ["NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "de-ham-1", "available": ["Linodes"],
- "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region":
- "za-jnb-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block
- Storage", "Kubernetes"]}, {"region": "my-kul-1", "available": ["Linodes"], "unavailable":
- ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region": "co-bog-1", "available":
- ["Linodes"], "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]},
- {"region": "mx-qro-1", "available": ["Linodes"], "unavailable": ["NodeBalancers",
- "Block Storage", "Kubernetes"]}, {"region": "us-hou-1", "available": ["Linodes"],
- "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region":
- "cl-scl-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block
- Storage", "Kubernetes"]}, {"region": "gb-lon", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "au-mel", "available":
- ["Linodes", "Kubernetes"], "unavailable": ["NodeBalancers", "Block Storage"]},
- {"region": "in-bom-2", "available": ["Linodes", "NodeBalancers", "Block Storage",
- "Kubernetes"], "unavailable": []}, {"region": "de-fra-2", "available": ["Linodes",
- "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"region":
- "sg-sin-2", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"],
- "unavailable": []}, {"region": "jp-tyo-3", "available": ["Linodes", "NodeBalancers",
- "Block Storage", "Kubernetes"], "unavailable": []}, {"region": "de-ber-1", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "no-osl-1", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "us-iad-2", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "fr-par-2", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}, {"region": "co-bog-2", "available":
- ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable":
- []}, {"region": "fr-mrs-2", "available": ["Linodes", "NodeBalancers", "Block
- Storage", "Kubernetes"], "unavailable": []}], "page": 1, "pages": 1, "results":
- 46}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Tue, 24 Mar 2026 17:06:59 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- - Accept-Encoding
- X-Accepted-Oauth-Scopes:
- - account:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1840"
+ - "15"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"region":"au-mel","type":"g6-nanode-1","label":"go-test-intf-du996l59d1lu","root_pass":"CP00c?8nd4w9;F@92B:ov[(h{Z)00Z07qxY*B8@1iaRhD/JA=jGd05O[u\u0026Y@R\u00261g","image":"linode/debian12","interface_generation":"linode","booted":false,"interfaces":[{"firewall_id":4016480,"public":{"ipv4":{"addresses":[{"address":"auto","primary":true}]},"ipv6":{}}},{"firewall_id":4016480,"vpc":{"subnet_id":523986,"ipv4":{"addresses":[{"address":"auto","primary":true,"nat_1_1_address":"auto"}]}}}]}'
+ body: '{"region":"pl-labkrk-2","type":"g6-nanode-1","label":"go-test-intf-25g4ful86h1d","root_pass":"d:fg+u[O3H!yn67.m8GQR654P^Sf5~Dvn:Vkd*8;IG86G/A=T*es056/Y]0@Bln4","image":"linode/debian12","interface_generation":"linode","booted":false,"interfaces":[{"firewall_id":1631285,"public":{"ipv4":{"addresses":[{"address":"auto","primary":true}]},"ipv6":{}}},{"firewall_id":1631285,"vpc":{"subnet_id":381571,"ipv4":{"addresses":[{"address":"auto","primary":true,"nat_1_1_address":"auto"}]}}}]}'
form: {}
headers:
Accept:
@@ -953,23 +161,23 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances
+ url: https://api.devcloud.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 94760148, "label": "go-test-intf-du996l59d1lu", "group": "", "status":
+ body: '{"id": 102106684, "label": "go-test-intf-25g4ful86h1d", "group": "", "status":
"provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["172.236.62.246", "172.236.62.247"], "ipv6":
+ "type": "g6-nanode-1", "ipv4": ["172.24.221.11", "172.24.221.195"], "ipv6":
"1234::5678/128", "image": "linode/debian12", "region":
- "au-mel", "site_type": "core", "specs": {"disk": 25600, "memory": 1024, "vcpus":
- 1, "gpus": 0, "transfer": 1000, "accelerated_devices": 0}, "alerts": {"cpu":
- 90, "network_in": 10, "network_out": 10, "transfer_quota": 80, "io": 10000,
- "system_alerts": [], "user_alerts": []}, "backups": {"enabled": false, "available":
- false, "schedule": {"day": null, "window": null}, "last_successful": null},
- "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "9a7697483a9ca8c5ddfadf4ddee2c1f1819f1be4",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": ["Block Storage Encryption", "SMTP Enabled",
- "Maintenance Policy"], "interface_generation": "linode", "maintenance_policy":
- "linode/migrate", "locks": []}'
+ "pl-labkrk-2", "site_type": "core", "specs": {"disk": 25600, "memory": 1024,
+ "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices": 0}, "alerts":
+ {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota": 80, "io":
+ 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled": true,
+ "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "c6a84401030a8a5a3cf1b07e8152033ff27390b0", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "linode", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -984,22 +192,19 @@ interactions:
Akamai-Internal-Account:
- '*'
Cache-Control:
- - max-age=0, no-cache, no-store
+ - private, max-age=60, s-maxage=60
Connection:
- keep-alive
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
- Expires:
- - Tue, 24 Mar 2026 17:07:01 GMT
- Pragma:
- - no-cache
+ Server:
+ - nginx
Strict-Transport-Security:
- max-age=31536000
Vary:
- Authorization, X-Filter
- - Accept-Encoding
X-Accepted-Oauth-Scopes:
- linodes:read_write
X-Content-Type-Options:
@@ -1010,7 +215,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "20"
+ - "8"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -1026,7 +231,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/94760148
+ url: https://api.devcloud.linode.com/v4beta/linode/instances/102106684
method: DELETE
response:
body: '{}'
@@ -1044,7 +249,7 @@ interactions:
Akamai-Internal-Account:
- '*'
Cache-Control:
- - max-age=0, no-cache, no-store
+ - private, max-age=60, s-maxage=60
Connection:
- keep-alive
Content-Length:
@@ -1053,10 +258,8 @@ interactions:
- default-src 'none'
Content-Type:
- application/json
- Expires:
- - Tue, 24 Mar 2026 17:07:01 GMT
- Pragma:
- - no-cache
+ Server:
+ - nginx
Strict-Transport-Security:
- max-age=31536000
Vary:
@@ -1071,7 +274,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "400"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -1087,7 +290,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/422885
+ url: https://api.devcloud.linode.com/v4beta/vpcs/510567
method: DELETE
response:
body: '{}'
@@ -1105,7 +308,7 @@ interactions:
Akamai-Internal-Account:
- '*'
Cache-Control:
- - max-age=0, no-cache, no-store
+ - private, max-age=60, s-maxage=60
Connection:
- keep-alive
Content-Length:
@@ -1114,10 +317,8 @@ interactions:
- default-src 'none'
Content-Type:
- application/json
- Expires:
- - Tue, 24 Mar 2026 17:07:02 GMT
- Pragma:
- - no-cache
+ Server:
+ - nginx
Strict-Transport-Security:
- max-age=31536000
Vary:
@@ -1132,7 +333,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "400"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestInstance_CreateWithMultipleIPAddresses.yaml b/test/integration/fixtures/TestInstance_CreateWithMultipleIPAddresses.yaml
index f9da9b136..41ae422c5 100644
--- a/test/integration/fixtures/TestInstance_CreateWithMultipleIPAddresses.yaml
+++ b/test/integration/fixtures/TestInstance_CreateWithMultipleIPAddresses.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east"}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:33:17 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -14,10 +428,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "50.116.56.8", "gateway": "50.116.56.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": null, "linode_id": null,
- "interface_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved":
- true, "assigned_entity": null}'
+ body: '{"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -36,13 +450,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "270"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:00 GMT
+ - Mon, 11 May 2026 11:33:18 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -66,7 +480,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-v0t4d9n5v71c","root_pass":"46S37bK:3U089p)g-m(i9.avKrb2T4C@1?/`QaeuhD~''uOXMH28?`''g$8C5QY#nF","image":"linode/alpine3.20","booted":false,"ipv4":["50.116.56.8","192.0.2.2"],"interfaces":[{"purpose":"public"}]}'
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-lok004520nrz","root_pass":"pO7)h61r50QZ6]~V[a~)BDyV{q7SF5jBs2Vn9\\1\u003e.H9t0P8afhkj,\u003cL3;QJ?d`7-","image":"linode/alpine3.23","booted":false,"ipv4":["172.237.112.211","192.0.2.2"],"interfaces":[{"purpose":"public"}]}'
form: {}
headers:
Accept:
@@ -96,7 +510,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:00 GMT
+ - Mon, 11 May 2026 11:33:18 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -122,7 +536,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/50.116.56.8
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.211
method: DELETE
response:
body: '{}'
@@ -150,7 +564,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:00 GMT
+ - Mon, 11 May 2026 11:33:18 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestInstance_CreateWithNonOwnedReservedAddress.yaml b/test/integration/fixtures/TestInstance_CreateWithNonOwnedReservedAddress.yaml
index bdb09efa9..8b427af4e 100644
--- a/test/integration/fixtures/TestInstance_CreateWithNonOwnedReservedAddress.yaml
+++ b/test/integration/fixtures/TestInstance_CreateWithNonOwnedReservedAddress.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-mnff61t6045y","root_pass":"MfG\\2W2x8{Tc1ZY4yx$W4~\u0026b\u003e|1X6;AFT89C`h3B[:0@5ollon/A4~jP|2Ze/ha1","image":"linode/alpine3.20","booted":false,"ipv4":["198.51.100.1"],"interfaces":[{"purpose":"public"}]}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:33:13 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-81lr31c9pau2","root_pass":"0G$2-Q2HzhNyGz5Zu[Ley]7[Oe@;DZY5]w]H085aD0O|O`1xW8a9@#5{;8ilq\u00260c","image":"linode/alpine3.23","booted":false,"ipv4":["198.51.100.1"],"interfaces":[{"purpose":"public"}]}'
form: {}
headers:
Accept:
@@ -32,7 +446,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:56 GMT
+ - Mon, 11 May 2026 11:33:13 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestInstance_CreateWithNonReservedAddress.yaml b/test/integration/fixtures/TestInstance_CreateWithNonReservedAddress.yaml
index 2c68ee793..292a0d0eb 100644
--- a/test/integration/fixtures/TestInstance_CreateWithNonReservedAddress.yaml
+++ b/test/integration/fixtures/TestInstance_CreateWithNonReservedAddress.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-843dn5nr00iy","root_pass":"\u003e4!\u0026yS,ww6r|W\u003eoy|Tb75S2j3+8''9Z70jVCfXHmMrHtW${7/B`h6w^o1=T9Q3(I3","image":"linode/alpine3.20","booted":false,"ipv4":["192.0.2.1"],"interfaces":[{"purpose":"public"}]}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:33:11 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-17e0p3d0rj8e","root_pass":"[v\u0026?Ti7\u003cE0I7Q{K8qk9}50|ar6jY1r`fnP0@1I5nCR[v#|6Ec=TYGa[i4I,2L+0w","image":"linode/alpine3.23","booted":false,"ipv4":["192.0.2.1"],"interfaces":[{"purpose":"public"}]}'
form: {}
headers:
Accept:
@@ -32,7 +446,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:55 GMT
+ - Mon, 11 May 2026 11:33:12 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestInstance_CreateWithNullIPAddress.yaml b/test/integration/fixtures/TestInstance_CreateWithNullIPAddress.yaml
index 0f42bbf1a..42a1f2e3f 100644
--- a/test/integration/fixtures/TestInstance_CreateWithNullIPAddress.yaml
+++ b/test/integration/fixtures/TestInstance_CreateWithNullIPAddress.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-rjqg8q27y027","root_pass":"05N2j^Zx{D]IQQY$qq+0+h/3Kz5TJq03Wp1#8u1NB~Bjwi~t[0+\u003eHhy14E]8!:2u","image":"linode/alpine3.20","booted":false,"interfaces":[{"purpose":"public"}]}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:33:15 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-l05s8o62szm5","root_pass":"Zy|J?22\u0026$z447552iIf`qVwvygJe:8S2!tUHXDqHN0**2r8^9*Q\u003c*8dz\u003cqCB\u003cZ1:","image":"linode/alpine3.23","booted":false,"interfaces":[{"purpose":"public"}]}'
form: {}
headers:
Accept:
@@ -14,17 +428,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82372526, "label": "go-test-ins-reserved-ip-rjqg8q27y027", "group":
+ body: '{"id": 97436388, "label": "go-test-ins-reserved-ip-l05s8o62szm5", "group":
"", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["172.104.215.27"], "ipv6": "1234::5678/128",
- "image": "linode/alpine3.20", "region": "us-east", "site_type": "core", "specs":
+ "type": "g6-nanode-1", "ipv4": ["172.237.126.45"], "ipv6": "1234::5678/128",
+ "image": "linode/alpine3.23", "region": "gb-lon", "site_type": "core", "specs":
{"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "3e0b72a174519259b7d08494416447addea79cba",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": [], "interface_generation": "legacy_config"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "76d89488fa5af59abe3615cc897bc69bbb007545", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -47,7 +463,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:58 GMT
+ - Mon, 11 May 2026 11:33:16 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -81,7 +497,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372526
+ url: https://api.linode.com/v4beta/linode/instances/97436388
method: DELETE
response:
body: '{}'
@@ -109,7 +525,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:59 GMT
+ - Mon, 11 May 2026 11:33:17 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestInstance_CreateWithOwnedNonAssignedReservedIP.yaml b/test/integration/fixtures/TestInstance_CreateWithOwnedNonAssignedReservedIP.yaml
index a894c6139..33ea03324 100644
--- a/test/integration/fixtures/TestInstance_CreateWithOwnedNonAssignedReservedIP.yaml
+++ b/test/integration/fixtures/TestInstance_CreateWithOwnedNonAssignedReservedIP.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east"}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:33:03 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -14,10 +428,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "50.116.56.8", "gateway": "50.116.56.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": null, "linode_id": null,
- "interface_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved":
- true, "assigned_entity": null}'
+ body: '{"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -36,13 +450,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "270"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:46 GMT
+ - Mon, 11 May 2026 11:33:04 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -66,7 +480,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-37u7d3vyjw40","root_pass":"!I6G^z;t6SU2E}eWL^sUj3k:91H2{3j^Z,@S!jD3nu/5+a1426,XgapyT7/L\u003em6K","image":"linode/alpine3.20","booted":false,"ipv4":["50.116.56.8"],"interfaces":[{"purpose":"public"}]}'
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-9rc1464sf6il","root_pass":"en.88p]74Fu#$.d0b24NG/x9TBU+P9^Q6)nc81''0\u0026}DRPikhvdK\u0026-\u0026BcnP4\u003eGI66","image":"linode/alpine3.23","booted":false,"ipv4":["172.237.112.211"],"interfaces":[{"purpose":"public"}]}'
form: {}
headers:
Accept:
@@ -78,17 +492,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82372517, "label": "go-test-ins-reserved-ip-37u7d3vyjw40", "group":
+ body: '{"id": 97436379, "label": "go-test-ins-reserved-ip-9rc1464sf6il", "group":
"", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["50.116.56.8"], "ipv6": "1234::5678/128",
- "image": "linode/alpine3.20", "region": "us-east", "site_type": "core", "specs":
+ "type": "g6-nanode-1", "ipv4": ["172.237.112.211"], "ipv6": "1234::5678/128",
+ "image": "linode/alpine3.23", "region": "gb-lon", "site_type": "core", "specs":
{"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "3e0b72a174519259b7d08494416447addea79cba",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": [], "interface_generation": "legacy_config"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "9669794ccf187a2599a1ccbdcebe67093dd992d5", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -111,7 +527,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:48 GMT
+ - Mon, 11 May 2026 11:33:05 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -145,7 +561,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372517
+ url: https://api.linode.com/v4beta/linode/instances/97436379
method: DELETE
response:
body: '{}'
@@ -173,7 +589,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:50 GMT
+ - Mon, 11 May 2026 11:33:06 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -206,7 +622,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/50.116.56.8
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.211
method: DELETE
response:
body: '{}'
@@ -234,7 +650,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:50 GMT
+ - Mon, 11 May 2026 11:33:06 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestInstance_CreateWithReservedIPAddress.yaml b/test/integration/fixtures/TestInstance_CreateWithReservedIPAddress.yaml
index 9676c6c06..242d2da52 100644
--- a/test/integration/fixtures/TestInstance_CreateWithReservedIPAddress.yaml
+++ b/test/integration/fixtures/TestInstance_CreateWithReservedIPAddress.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east"}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:33:00 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -14,10 +428,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "50.116.56.8", "gateway": "50.116.56.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": null, "linode_id": null,
- "interface_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved":
- true, "assigned_entity": null}'
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -36,13 +450,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "270"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:42 GMT
+ - Mon, 11 May 2026 11:33:00 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -66,7 +480,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-h2omsxl18325","root_pass":"Xigy615Q1}UOBcx@wl80+X?3+|37\u003c6PEj8FNSso2s:8z-1w''J}NE+em3N0{/mK@/","image":"linode/alpine3.20","booted":false,"ipv4":["50.116.56.8"],"interfaces":[{"purpose":"public"}]}'
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-zj61h51dk7s5","root_pass":"3E\u0026.0;GHG6f|\u003eF4s|O}tkDd0G6u/OV8Ek65Z[7j0rwd8N3p1#|*({{\\3vG6osmTW","image":"linode/alpine3.23","booted":false,"ipv4":["172.237.112.182"],"interfaces":[{"purpose":"public"}]}'
form: {}
headers:
Accept:
@@ -78,17 +492,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82372511, "label": "go-test-ins-reserved-ip-h2omsxl18325", "group":
+ body: '{"id": 97436375, "label": "go-test-ins-reserved-ip-zj61h51dk7s5", "group":
"", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["50.116.56.8"], "ipv6": "1234::5678/128",
- "image": "linode/alpine3.20", "region": "us-east", "site_type": "core", "specs":
+ "type": "g6-nanode-1", "ipv4": ["172.237.112.182"], "ipv6": "1234::5678/128",
+ "image": "linode/alpine3.23", "region": "gb-lon", "site_type": "core", "specs":
{"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "3e0b72a174519259b7d08494416447addea79cba",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": [], "interface_generation": "legacy_config"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "63a2ebcdb71d57bdc881b177d10ce94dfcf73c9f", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -111,7 +527,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:44 GMT
+ - Mon, 11 May 2026 11:33:02 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -145,7 +561,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372511
+ url: https://api.linode.com/v4beta/linode/instances/97436375
method: DELETE
response:
body: '{}'
@@ -173,7 +589,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:46 GMT
+ - Mon, 11 May 2026 11:33:03 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -206,7 +622,72 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/50.116.56.8
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
+ method: GET
+ response:
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "287"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:33:03 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
method: DELETE
response:
body: '{}'
@@ -234,7 +715,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:58:46 GMT
+ - Mon, 11 May 2026 11:33:03 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestInstance_CreateWithoutIPv4Field.yaml b/test/integration/fixtures/TestInstance_CreateWithoutIPv4Field.yaml
index 849d1862e..408a9e9a4 100644
--- a/test/integration/fixtures/TestInstance_CreateWithoutIPv4Field.yaml
+++ b/test/integration/fixtures/TestInstance_CreateWithoutIPv4Field.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-395a5x5muc8e","root_pass":"iw~U0\u003c2PuTmt{Z;\u0026d2F.6.H:Rn3fGK{5hl007#l$W7Q6+7`l4UEgKH|m=st7\u003e34P","image":"linode/alpine3.20","booted":false,"interfaces":[{"purpose":"public"}]}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:33:19 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-04wg00q4t0pk","root_pass":"8\u003cE|spd9O$9''3s6o}o5y,UZQ$*1\\WKj:1q2W31JZ4@f+0,cvUJ5oZ+2dOD$?zDw3","image":"linode/alpine3.23","booted":false,"interfaces":[{"purpose":"public"}]}'
form: {}
headers:
Accept:
@@ -14,17 +428,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82372531, "label": "go-test-ins-reserved-ip-395a5x5muc8e", "group":
+ body: '{"id": 97436389, "label": "go-test-ins-reserved-ip-04wg00q4t0pk", "group":
"", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["172.104.215.34"], "ipv6": "1234::5678/128",
- "image": "linode/alpine3.20", "region": "us-east", "site_type": "core", "specs":
+ "type": "g6-nanode-1", "ipv4": ["172.237.126.49"], "ipv6": "1234::5678/128",
+ "image": "linode/alpine3.23", "region": "gb-lon", "site_type": "core", "specs":
{"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "3e0b72a174519259b7d08494416447addea79cba",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": [], "interface_generation": "legacy_config"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "2dca4bc4a58a4dd53cf94550e1e0695a939ef904", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -47,7 +463,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:02 GMT
+ - Mon, 11 May 2026 11:33:21 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -81,7 +497,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372531
+ url: https://api.linode.com/v4beta/linode/instances/97436389
method: DELETE
response:
body: '{}'
@@ -109,7 +525,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:04 GMT
+ - Mon, 11 May 2026 11:33:21 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestInstance_DeleteInstanceVariants.yaml b/test/integration/fixtures/TestInstance_DeleteInstanceVariants.yaml
index 50d075edf..0e48a4e24 100644
--- a/test/integration/fixtures/TestInstance_DeleteInstanceVariants.yaml
+++ b/test/integration/fixtures/TestInstance_DeleteInstanceVariants.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east"}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:35:28 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -14,10 +428,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "45.33.88.68", "gateway": "45.33.88.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": null, "linode_id": null,
- "interface_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved":
- true, "assigned_entity": null}'
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -36,13 +450,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "269"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:13 GMT
+ - Mon, 11 May 2026 11:35:29 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -66,7 +480,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-5c8ya23fj00j","root_pass":"N9Dh,M@[4''20SY54xk7:W|#/\u003e4tUke0w5AiB.omQ[ve0c^F3T8\u003eTW6;#93Kujs''W","image":"linode/alpine3.20","booted":false,"ipv4":["45.33.88.68"],"interfaces":[{"purpose":"public"}]}'
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-8kt83h3uh6e0","root_pass":"#20.-6o`X4E4XrP*6A#3g\u003c|=Tx2h4T46/$!|o7/4y4oE+OrKeSP,BD13lbyyEgsL","image":"linode/alpine3.23","booted":false,"ipv4":["172.237.112.182"],"interfaces":[{"purpose":"public"}]}'
form: {}
headers:
Accept:
@@ -78,17 +492,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82372546, "label": "go-test-ins-reserved-ip-5c8ya23fj00j", "group":
+ body: '{"id": 97436489, "label": "go-test-ins-reserved-ip-8kt83h3uh6e0", "group":
"", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["45.33.88.68"], "ipv6": "1234::5678/128",
- "image": "linode/alpine3.20", "region": "us-east", "site_type": "core", "specs":
+ "type": "g6-nanode-1", "ipv4": ["172.237.112.182"], "ipv6": "1234::5678/128",
+ "image": "linode/alpine3.23", "region": "gb-lon", "site_type": "core", "specs":
{"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "3e0b72a174519259b7d08494416447addea79cba",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": [], "interface_generation": "legacy_config"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "85e5b12b8ea64b2a0cc0cb04428593e36a43a2c5", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -111,7 +527,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:15 GMT
+ - Mon, 11 May 2026 11:35:30 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -145,7 +561,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372546
+ url: https://api.linode.com/v4beta/linode/instances/97436489
method: DELETE
response:
body: '{}'
@@ -173,7 +589,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:16 GMT
+ - Mon, 11 May 2026 11:35:31 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -206,13 +622,13 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/45.33.88.68
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
method: GET
response:
- body: '{"address": "45.33.88.68", "gateway": "45.33.88.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": null, "linode_id": null,
- "interface_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved":
- true, "assigned_entity": null}'
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -231,13 +647,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "269"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:16 GMT
+ - Mon, 11 May 2026 11:35:31 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -262,7 +678,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"test-instance-freed-ip","root_pass":"0$`/Z|82l8?*$Ht\u0026GlcocHOk7W8C`2qTZzirp#bS5A33T314e=4,S''Y3OCc?2(*u","ipv4":["45.33.88.68"]}'
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"test-instance-freed-ip","root_pass":")d5Q\u003clS^78J6mED:Ze!2J}9''b\u003ep+V22u\u003eYca6ihw73aRPi:[Nw@N.90Q@00NB[7g","ipv4":["172.237.112.182"]}'
form: {}
headers:
Accept:
@@ -274,17 +690,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82372552, "label": "test-instance-freed-ip", "group": "", "status":
+ body: '{"id": 97436491, "label": "test-instance-freed-ip", "group": "", "status":
"provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["45.33.88.68"], "ipv6": "1234::5678/128",
- "image": null, "region": "us-east", "site_type": "core", "specs": {"disk": 25600,
+ "type": "g6-nanode-1", "ipv4": ["172.237.112.182"], "ipv6": "1234::5678/128",
+ "image": null, "region": "gb-lon", "site_type": "core", "specs": {"disk": 25600,
"memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "3e0b72a174519259b7d08494416447addea79cba",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": [], "interface_generation": "legacy_config"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "9669794ccf187a2599a1ccbdcebe67093dd992d5", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -307,7 +725,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:17 GMT
+ - Mon, 11 May 2026 11:35:31 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -341,14 +759,15 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/45.33.88.68
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
method: GET
response:
- body: '{"address": "45.33.88.68", "gateway": "45.33.88.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": "45-33-88-68.ip.linodeusercontent.com",
- "linode_id": 82372552, "interface_id": null, "region": "us-east", "vpc_nat_1_1":
- null, "reserved": true, "assigned_entity": {"id": 82372552, "type": "linode",
- "label": "test-instance-freed-ip", "url": "/v4/linode/instances/82372552"}}'
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-237-112-182.ip.linodeusercontent.com",
+ "linode_id": 97436491, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": {"id": 97436491, "type": "linode",
+ "label": "test-instance-freed-ip", "url": "/v4/linode/instances/97436491"},
+ "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -367,13 +786,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "412"
+ - "434"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:17 GMT
+ - Mon, 11 May 2026 11:35:32 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -398,7 +817,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-east","type":"g6-nanode-1","label":"ephemeral-ip-test","root_pass":"[m\u003cnEY3E4\u003eFhb1NqVG=5+93f2k^(}DXthr1\u00261?D;04;24fo8-d\u0026I\u003c4,Ua3eqTKDB"}'
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"ephemeral-ip-test","root_pass":"3I{k0?2YzG6O-;X.T1aSwT3kGpedNP?|!8\\$tOb14vpTrcj8Cb8!5+O0;}9X|92^"}'
form: {}
headers:
Accept:
@@ -410,17 +829,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82372554, "label": "ephemeral-ip-test", "group": "", "status": "provisioning",
+ body: '{"id": 97436494, "label": "ephemeral-ip-test", "group": "", "status": "provisioning",
"created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type":
- "g6-nanode-1", "ipv4": ["172.104.215.64"], "ipv6": "1234::5678/128",
- "image": null, "region": "us-east", "site_type": "core", "specs": {"disk": 25600,
+ "g6-nanode-1", "ipv4": ["172.237.126.45"], "ipv6": "1234::5678/128",
+ "image": null, "region": "gb-lon", "site_type": "core", "specs": {"disk": 25600,
"memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "d2f74d737ad98cd85b253e7316dd22c95570ffde",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": [], "interface_generation": "legacy_config"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "b3883b8ab56bb4aa67c1c6f28175f71e7fa6d328", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -443,7 +864,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:18 GMT
+ - Mon, 11 May 2026 11:35:33 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -477,7 +898,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372554
+ url: https://api.linode.com/v4beta/linode/instances/97436494
method: DELETE
response:
body: '{}'
@@ -505,7 +926,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:20 GMT
+ - Mon, 11 May 2026 11:35:33 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -538,7 +959,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82372552
+ url: https://api.linode.com/v4beta/linode/instances/97436491
method: DELETE
response:
body: '{}'
@@ -566,7 +987,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:22 GMT
+ - Mon, 11 May 2026 11:35:34 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -599,7 +1020,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/45.33.88.68
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
method: DELETE
response:
body: '{}'
@@ -627,7 +1048,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 20:59:22 GMT
+ - Mon, 11 May 2026 11:35:34 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestLKECluster_Dashboard_Get.yaml b/test/integration/fixtures/TestLKECluster_Dashboard_Get.yaml
deleted file mode 100644
index 9fddde6ff..000000000
--- a/test/integration/fixtures/TestLKECluster_Dashboard_Get.yaml
+++ /dev/null
@@ -1,688 +0,0 @@
----
-version: 1
-interactions:
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/regions?page=1
- method: GET
- response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, CA", "country":
- "ca", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country":
- "au", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-iad", "label": "Washington, DC", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-ord", "label": "Chicago, IL", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "fr-par", "label": "Paris, FR", "country":
- "fr", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-sea", "label": "Seattle, WA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "br-gru", "label": "Sao Paulo, BR", "country":
- "br", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country":
- "nl", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country":
- "se", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "es-mad", "label": "Madrid, ES", "country":
- "es", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-maa", "label": "Chennai, IN", "country":
- "in", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-osa", "label": "Osaka, JP", "country":
- "jp", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "it-mil", "label": "Milan, IT", "country":
- "it", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-mia", "label": "Miami, FL", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "id-cgk", "label": "Jakarta, ID", "country":
- "id", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-lax", "label": "Los Angeles, CA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nz-akl-1", "label": "Auckland, NZ", "country":
- "nz", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4":
- "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "us-den-1", "label": "Denver, CO", "country":
- "us", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4":
- "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "de-ham-1", "label": "Hamburg, DE",
- "country": "de", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "fr-mrs-1", "label": "Marseille, FR",
- "country": "fr", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "za-jnb-1", "label": "Johannesburg,
- ZA", "country": "za", "capabilities": ["Linodes", "Disk Encryption", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok",
- "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "my-kul-1", "label": "Kuala Lumpur,
- MY", "country": "my", "capabilities": ["Linodes", "Disk Encryption", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok",
- "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "co-bog-1", "label": "Bogot\u00e1, CO",
- "country": "co", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "mx-qro-1", "label": "Quer\u00e9taro,
- MX", "country": "mx", "capabilities": ["Linodes", "Disk Encryption", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok",
- "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "us-hou-1", "label": "Houston, TX",
- "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "cl-scl-1", "label": "Santiago, CL",
- "country": "cl", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "gb-lon", "label": "London 2, UK", "country":
- "gb", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "au-mel", "label": "Melbourne, AU", "country":
- "au", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-bom-2", "label": "Mumbai 2, IN", "country":
- "in", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "GPU Linodes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "de-fra-2", "label": "Frankfurt 2, DE", "country":
- "de", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"],
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "sg-sin-2", "label": "Singapore 2, SG", "country":
- "sg", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-tyo-3", "label": "Tokyo 3, JP", "country":
- "jp", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "de-ber-1", "label": "Berlin, DE", "country":
- "de", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4":
- "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "us-central", "label": "Dallas, TX",
- "country": "us", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"], "status":
- "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
- 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
- "us", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"], "status":
- "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-west", "label": "London, UK", "country":
- "gb", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5,
- 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20,
- 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": null,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-south", "label":
- "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"], "status":
- "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country":
- "de", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"], "status":
- "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country":
- "jp", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 42}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Mon, 12 May 2025 19:09:38 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- - Accept-Encoding
- X-Accepted-Oauth-Scopes:
- - '*'
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "400"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/tiers/standard/versions?page=1
- method: GET
- response:
- body: '{"data": [{"id": "1.32", "tier": "standard"}, {"id": "1.31", "tier": "standard"}],
- "page": 1, "pages": 1, "results": 2}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "119"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Mon, 12 May 2025 19:09:39 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - lke:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: '{"node_pools":[{"count":1,"type":"g6-standard-2","disks":null,"tags":["test"],"labels":null,"taints":null}],"label":"go-lke-test-dash","region":"ap-west","k8s_version":"1.32","tags":["testing"],"tier":"standard"}'
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters
- method: POST
- response:
- body: '{"id": 433124, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
- "2018-01-02T03:04:05", "label": "go-lke-test-dash", "region": "ap-west", "k8s_version":
- "1.32", "tier": "standard", "control_plane": {"high_availability": false}, "apl_enabled":
- false, "tags": ["testing"]}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "284"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Mon, 12 May 2025 19:09:49 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - lke:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/433124
- method: GET
- response:
- body: '{"id": 433124, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
- "2018-01-02T03:04:05", "label": "go-lke-test-dash", "region": "ap-west", "k8s_version":
- "1.32", "tier": "standard", "control_plane": {"high_availability": false}, "apl_enabled":
- false, "tags": ["testing"]}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "284"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Mon, 12 May 2025 19:10:04 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - lke:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/433124/dashboard
- method: GET
- response:
- body: '{"url": "https://76e279ae-78ec-4fbe-ad46-88c595b2e237.ap-west-1-gw.linodelke.net"}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "82"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Mon, 12 May 2025 19:10:05 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - lke:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/433124
- method: DELETE
- response:
- body: '{}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "2"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Mon, 12 May 2025 19:10:10 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - lke:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
diff --git a/test/integration/fixtures/TestLKECluster_Enterprise_BYOVPC_smoke.yaml b/test/integration/fixtures/TestLKECluster_Enterprise_BYOVPC_smoke.yaml
index 4c1a2d547..5a9bc6158 100644
--- a/test/integration/fixtures/TestLKECluster_Enterprise_BYOVPC_smoke.yaml
+++ b/test/integration/fixtures/TestLKECluster_Enterprise_BYOVPC_smoke.yaml
@@ -14,8 +14,17 @@ interactions:
url: https://api.linode.com/v4beta/lke/tiers/enterprise/versions?page=1
method: GET
response:
- body: '{"data": [{"id": "v1.31.8+lke5", "tier": "enterprise"}], "page": 1, "pages":
- 1, "results": 1}'
+ body: '{"data": [{"id": "v1.33.6+lke7", "tier": "enterprise"}, {"id": "v1.33.6+lke6",
+ "tier": "enterprise"}, {"id": "v1.32.9+lke4", "tier": "enterprise"}, {"id":
+ "v1.32.9+lke2", "tier": "enterprise"}, {"id": "v1.32.8+lke13", "tier": "enterprise"},
+ {"id": "v1.32.8+lke12", "tier": "enterprise"}, {"id": "v1.32.8+lke10", "tier":
+ "enterprise"}, {"id": "v1.31.9+lke7", "tier": "enterprise"}, {"id": "v1.31.9+lke6",
+ "tier": "enterprise"}, {"id": "v1.31.9+lke5", "tier": "enterprise"}, {"id":
+ "v1.31.8+lke5", "tier": "enterprise"}, {"id": "v1.31.8+lke3", "tier": "enterprise"},
+ {"id": "v1.31.8+lke1", "tier": "enterprise"}, {"id": "v1.31.6+lke3", "tier":
+ "enterprise"}, {"id": "v1.31.6+lke2", "tier": "enterprise"}, {"id": "v1.31.1+lke4",
+ "tier": "enterprise"}, {"id": "v1.31.1+lke1", "tier": "enterprise"}, {"id":
+ "v1.29.4+lke1", "tier": "enterprise"}], "page": 1, "pages": 1, "results": 18}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -33,14 +42,12 @@ interactions:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
- Content-Length:
- - "93"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Tue, 19 Aug 2025 16:56:21 GMT
+ - Tue, 02 Jun 2026 10:03:27 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -48,6 +55,7 @@ interactions:
Vary:
- Authorization, X-Filter
- Authorization, X-Filter
+ - Accept-Encoding
X-Accepted-Oauth-Scopes:
- lke:read_only
X-Content-Type-Options:
@@ -63,7 +71,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"node_pools":[{"count":1,"type":"g6-standard-2","disks":null,"tags":["test"],"labels":null,"taints":null}],"label":"go-test-def","region":"no-osl-1","k8s_version":"v1.31.8+lke5","tags":["testing"],"tier":"enterprise","vpc_id":224219,"stack_type":"ipv4-ipv6"}'
+ body: '{"node_pools":[{"count":1,"type":"g6-standard-2","disks":null,"tags":["test"],"labels":null,"taints":null}],"label":"go-test-def","region":"es-mad","k8s_version":"v1.33.6+lke7","tags":["testing"],"tier":"enterprise","vpc_id":505334,"stack_type":"ipv4-ipv6"}'
form: {}
headers:
Accept:
@@ -75,11 +83,12 @@ interactions:
url: https://api.linode.com/v4beta/lke/clusters
method: POST
response:
- body: '{"id": 508689, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
- "2018-01-02T03:04:05", "label": "go-test-def", "region": "no-osl-1", "k8s_version":
- "v1.31.8+lke5", "tier": "enterprise", "control_plane": {"high_availability":
- true, "audit_logs_enabled": false}, "apl_enabled": false, "vpc_id": 224219,
- "subnet_id": null, "tags": ["testing"], "stack_type": "ipv4-ipv6"}'
+ body: '{"id": 611915, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05", "label": "go-test-def", "region": "es-mad", "k8s_version":
+ "v1.33.6+lke7", "tier": "enterprise", "control_plane": {"high_availability":
+ true, "audit_logs_enabled": false}, "apl_enabled": false, "vpc_id": 505334,
+ "subnet_id": null, "tags": ["testing"], "stack_type": "ipv4-ipv6", "locks":
+ []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -98,13 +107,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "382"
+ - "393"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Tue, 19 Aug 2025 16:56:27 GMT
+ - Tue, 02 Jun 2026 10:03:34 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -137,14 +146,15 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/508689
+ url: https://api.linode.com/v4beta/lke/clusters/611915
method: GET
response:
- body: '{"id": 508689, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
- "2018-01-02T03:04:05", "label": "go-test-def", "region": "no-osl-1", "k8s_version":
- "v1.31.8+lke5", "tier": "enterprise", "control_plane": {"high_availability":
- true, "audit_logs_enabled": false}, "apl_enabled": false, "vpc_id": 224219,
- "subnet_id": null, "tags": ["testing"], "stack_type": "ipv4-ipv6"}'
+ body: '{"id": 611915, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05", "label": "go-test-def", "region": "es-mad", "k8s_version":
+ "v1.33.6+lke7", "tier": "enterprise", "control_plane": {"high_availability":
+ true, "audit_logs_enabled": false}, "apl_enabled": false, "vpc_id": 505334,
+ "subnet_id": null, "tags": ["testing"], "stack_type": "ipv4-ipv6", "locks":
+ []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -163,13 +173,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "382"
+ - "393"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Tue, 19 Aug 2025 16:56:27 GMT
+ - Tue, 02 Jun 2026 10:03:34 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -203,7 +213,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/508689
+ url: https://api.linode.com/v4beta/lke/clusters/611915
method: DELETE
response:
body: '{}'
@@ -231,7 +241,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Tue, 19 Aug 2025 16:56:29 GMT
+ - Tue, 02 Jun 2026 10:03:36 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestLKECluster_Enterprise_VPC_smoke.yaml b/test/integration/fixtures/TestLKECluster_Enterprise_VPC_smoke.yaml
index d16342d0d..c880943bc 100644
--- a/test/integration/fixtures/TestLKECluster_Enterprise_VPC_smoke.yaml
+++ b/test/integration/fixtures/TestLKECluster_Enterprise_VPC_smoke.yaml
@@ -14,382 +14,381 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "LA Disk
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "LA Disk
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
- "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
- "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
- "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
- "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
- "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
- "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
"label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
"label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
"label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
"ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
"label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
"label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
"label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
"label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nz-akl-1",
- "label": "Auckland, NZ", "country": "nz", "capabilities": ["Linodes", "Disk
- Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans"],
- "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4":
- "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "us-den-1", "label": "Denver, CO", "country": "us", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "de-ham-1", "label": "Hamburg, DE", "country": "de", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "fr-mrs-1", "label": "Marseille, FR", "country": "fr", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "za-jnb-1", "label": "Johannesburg, ZA", "country": "za", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "my-kul-1", "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "co-bog-1", "label": "Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "mx-qro-1", "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities":
- ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Distributed Plans"], "monitors": {"alerts": [], "metrics": []}, "status": "ok",
- "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "us-hou-1", "label": "Houston, TX", "country": "us", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "cl-scl-1", "label": "Santiago, CL", "country": "cl", "capabilities": ["Linodes",
- "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed
- Plans"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
- "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes",
- "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
- "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
+ "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
"label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- [], "metrics": []}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
"label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
"label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-ber-1",
- "label": "Berlin, DE", "country": "de", "capabilities": ["Linodes", "Disk Encryption",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans"], "monitors":
- {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0, "maximum_linodes_per_flexible_pg": 0}, "site_type":
- "distributed"}, {"id": "no-osl-1", "label": "Oslo, NO", "country": "no", "capabilities":
- ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
+ "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "LA Disk
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
- "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases"]}, "status": "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5,
- 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5,
- 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": null,
- "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "LA Disk
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "LA Disk
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- [], "metrics": []}, "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5,
- 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20,
- 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": null,
- "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "ap-south", "label": "Singapore, SG", "country": "sg", "capabilities":
- ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "LA Disk
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "LA Disk
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics":
+ ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}], "page": 1,
- "pages": 1, "results": 43}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -412,7 +411,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Tue, 19 Aug 2025 16:56:20 GMT
+ - Tue, 02 Jun 2026 10:03:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -438,7 +437,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-vpc-1755622580345121000","region":"no-osl-1"}'
+ body: '{"label":"go-test-vpc-1780394604899383000","region":"es-mad","ipv6":[{"range":"/52"}]}'
form: {}
headers:
Accept:
@@ -450,9 +449,10 @@ interactions:
url: https://api.linode.com/v4beta/vpcs
method: POST
response:
- body: '{"id": 224219, "label": "go-test-vpc-1755622580345121000", "description":
- "", "region": "no-osl-1", "ipv6": null, "subnets": [], "created": "2018-01-02T03:04:05",
- "updated": "2018-01-02T03:04:05"}'
+ body: '{"id": 505334, "label": "go-test-vpc-1780394604899383000", "description":
+ "", "region": "es-mad", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "172.16.0.0/12"},
+ {"range": "192.168.0.0/17"}], "ipv6": [{"range": "1234::5678/52"}], "subnets":
+ [], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -471,13 +471,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "196"
+ - "316"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Tue, 19 Aug 2025 16:56:21 GMT
+ - Tue, 02 Jun 2026 10:03:27 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -510,7 +510,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/224219
+ url: https://api.linode.com/v4beta/vpcs/505334
method: DELETE
response:
body: '{}'
@@ -538,7 +538,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Tue, 19 Aug 2025 16:56:30 GMT
+ - Tue, 02 Jun 2026 10:03:37 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestLKECluster_Update.yaml b/test/integration/fixtures/TestLKECluster_Update.yaml
index 979b2fd63..c15695137 100644
--- a/test/integration/fixtures/TestLKECluster_Update.yaml
+++ b/test/integration/fixtures/TestLKECluster_Update.yaml
@@ -14,318 +14,449 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, CA", "country":
- "ca", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country":
- "au", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nz-akl-1",
+ "label": "Auckland, NZ", "country": "nz", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-den-1", "label": "Denver, CO", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "de-ham-1", "label": "Hamburg, DE", "country": "de", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "za-jnb-1", "label": "Johannesburg, ZA", "country": "za", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "my-kul-1", "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "co-bog-1", "label": "Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "mx-qro-1", "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities":
+ ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed
+ Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-hou-1", "label": "Houston, TX", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "cl-scl-1", "label": "Santiago, CL", "country": "cl", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-iad", "label": "Washington, DC", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-ord", "label": "Chicago, IL", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "fr-par", "label": "Paris, FR", "country":
- "fr", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-sea", "label": "Seattle, WA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-ber-1",
+ "label": "Berlin, DE", "country": "de", "capabilities": ["Linodes", "Disk Encryption",
+ "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance Policy"],
+ "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4":
+ "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "no-osl-1", "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes",
+ "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block
+ Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall",
+ "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium
+ Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-rno-1",
+ "label": "Reno, NV", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
+ "Backups", "NodeBalancers", "GPU Linodes", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "", "ipv6":
+ ""}, "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "co-bog-2",
+ "label": "Bogot\u00e1 2, CO", "country": "co", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "fr-mrs-2", "label": "Marseille 2, FR", "country": "fr", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-mia", "label": "Miami, FL", "country": "us", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "br-gru", "label": "Sao Paulo, BR", "country":
- "br", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country":
- "nl", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country":
- "se", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "es-mad", "label": "Madrid, ES", "country":
- "es", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-maa", "label": "Chennai, IN", "country":
- "in", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-osa", "label": "Osaka, JP", "country":
- "jp", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "it-mil", "label": "Milan, IT", "country":
- "it", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-mia", "label": "Miami, FL", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "id-cgk", "label": "Jakarta, ID", "country":
- "id", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-lax", "label": "Los Angeles, CA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nz-akl-1", "label": "Auckland, NZ", "country":
- "nz", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4":
- "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "us-den-1", "label": "Denver, CO", "country":
- "us", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4":
- "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "de-ham-1", "label": "Hamburg, DE",
- "country": "de", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "fr-mrs-1", "label": "Marseille, FR",
- "country": "fr", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "za-jnb-1", "label": "Johannesburg,
- ZA", "country": "za", "capabilities": ["Linodes", "Disk Encryption", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok",
- "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "my-kul-1", "label": "Kuala Lumpur,
- MY", "country": "my", "capabilities": ["Linodes", "Disk Encryption", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok",
- "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "co-bog-1", "label": "Bogot\u00e1, CO",
- "country": "co", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "mx-qro-1", "label": "Quer\u00e9taro,
- MX", "country": "mx", "capabilities": ["Linodes", "Disk Encryption", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok",
- "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "us-hou-1", "label": "Houston, TX",
- "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "cl-scl-1", "label": "Santiago, CL",
- "country": "cl", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "gb-lon", "label": "London 2, UK", "country":
- "gb", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "au-mel", "label": "Melbourne, AU", "country":
- "au", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-bom-2", "label": "Mumbai 2, IN", "country":
- "in", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "GPU Linodes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "de-fra-2", "label": "Frankfurt 2, DE", "country":
- "de", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"],
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "sg-sin-2", "label": "Singapore 2, SG", "country":
- "sg", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-tyo-3", "label": "Tokyo 3, JP", "country":
- "jp", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "de-ber-1", "label": "Berlin, DE", "country":
- "de", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4":
- "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "us-central", "label": "Dallas, TX",
- "country": "us", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"], "status":
- "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
- 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
- "us", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"], "status":
- "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-west", "label": "London, UK", "country":
- "gb", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5,
- 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20,
- 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": null,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-south", "label":
- "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"], "status":
- "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country":
- "de", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"], "status":
- "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country":
- "jp", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 42}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 47}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -348,7 +479,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 12 May 2025 19:03:38 GMT
+ - Wed, 06 May 2026 16:18:35 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -367,14 +498,75 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/lke/tiers/standard/versions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "1.35", "tier": "standard"}, {"id": "1.34", "tier": "standard"}],
+ "page": 1, "pages": 1, "results": 2}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "119"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 06 May 2026 16:18:35 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - lke:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"node_pools":[{"count":1,"type":"g6-standard-2","disks":null,"tags":["test"],"labels":null,"taints":null}],"label":"go-lke-test-update","region":"ap-west","k8s_version":"1.31","tags":["testing"],"tier":"standard"}'
+ body: '{"node_pools":[{"count":1,"type":"g6-standard-2","disks":null,"tags":["test"],"labels":null,"taints":null}],"label":"go-lke-test-update","region":"au-mel","k8s_version":"1.35","tags":["testing"],"tier":"standard"}'
form: {}
headers:
Accept:
@@ -386,10 +578,10 @@ interactions:
url: https://api.linode.com/v4beta/lke/clusters
method: POST
response:
- body: '{"id": 433100, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
- "2018-01-02T03:04:05", "label": "go-lke-test-update", "region": "ap-west", "k8s_version":
- "1.31", "tier": "standard", "control_plane": {"high_availability": false}, "apl_enabled":
- false, "tags": ["testing"]}'
+ body: '{"id": 600522, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05", "label": "go-lke-test-update", "region": "au-mel", "k8s_version":
+ "1.35", "tier": "standard", "control_plane": {"high_availability": false}, "apl_enabled":
+ false, "tags": ["testing"], "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -408,13 +600,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "286"
+ - "298"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Mon, 12 May 2025 19:03:49 GMT
+ - Wed, 06 May 2026 16:18:42 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -431,14 +623,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"k8s_version":"1.32","label":"go-lke-test-update-updated","tags":["test=true"]}'
+ body: '{"label":"go-lke-test-update-updated","tags":["test=true"]}'
form: {}
headers:
Accept:
@@ -447,13 +639,13 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/433100
+ url: https://api.linode.com/v4beta/lke/clusters/600522
method: PUT
response:
- body: '{"id": 433100, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
- "2018-01-02T03:04:05", "label": "go-lke-test-update-updated", "region": "ap-west",
- "k8s_version": "1.32", "tier": "standard", "control_plane": {"high_availability":
- false}, "apl_enabled": false, "tags": ["test=true"]}'
+ body: '{"id": 600522, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05", "label": "go-lke-test-update-updated", "region": "au-mel",
+ "k8s_version": "1.35", "tier": "standard", "control_plane": {"high_availability":
+ false}, "apl_enabled": false, "tags": ["test=true"], "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -472,13 +664,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "296"
+ - "308"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Mon, 12 May 2025 19:03:52 GMT
+ - Wed, 06 May 2026 16:18:42 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -495,7 +687,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -511,13 +703,13 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/433100
+ url: https://api.linode.com/v4beta/lke/clusters/600522
method: PUT
response:
- body: '{"id": 433100, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
- "2018-01-02T03:04:05", "label": "go-lke-test-update-updated", "region": "ap-west",
- "k8s_version": "1.32", "tier": "standard", "control_plane": {"high_availability":
- true}, "apl_enabled": false, "tags": ["test=true"]}'
+ body: '{"id": 600522, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05", "label": "go-lke-test-update-updated", "region": "au-mel",
+ "k8s_version": "1.35", "tier": "standard", "control_plane": {"high_availability":
+ true}, "apl_enabled": false, "tags": ["test=true"], "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -536,13 +728,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "295"
+ - "307"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Mon, 12 May 2025 19:03:55 GMT
+ - Wed, 06 May 2026 16:18:45 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -559,7 +751,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -575,7 +767,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/433100
+ url: https://api.linode.com/v4beta/lke/clusters/600522
method: DELETE
response:
body: '{}'
@@ -603,7 +795,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 12 May 2025 19:03:59 GMT
+ - Wed, 06 May 2026 16:18:49 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -620,7 +812,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestLKECluster_withACL.yaml b/test/integration/fixtures/TestLKECluster_withACL.yaml
index 764a93201..29b2d65bb 100644
--- a/test/integration/fixtures/TestLKECluster_withACL.yaml
+++ b/test/integration/fixtures/TestLKECluster_withACL.yaml
@@ -14,318 +14,449 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, CA", "country":
- "ca", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country":
- "au", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nz-akl-1",
+ "label": "Auckland, NZ", "country": "nz", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-den-1", "label": "Denver, CO", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "de-ham-1", "label": "Hamburg, DE", "country": "de", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "za-jnb-1", "label": "Johannesburg, ZA", "country": "za", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "my-kul-1", "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "co-bog-1", "label": "Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "mx-qro-1", "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities":
+ ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed
+ Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-hou-1", "label": "Houston, TX", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "cl-scl-1", "label": "Santiago, CL", "country": "cl", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-iad", "label": "Washington, DC", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-ord", "label": "Chicago, IL", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "fr-par", "label": "Paris, FR", "country":
- "fr", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-sea", "label": "Seattle, WA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-ber-1",
+ "label": "Berlin, DE", "country": "de", "capabilities": ["Linodes", "Disk Encryption",
+ "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance Policy"],
+ "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4":
+ "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "no-osl-1", "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes",
+ "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block
+ Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall",
+ "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium
+ Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "br-gru", "label": "Sao Paulo, BR", "country":
- "br", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-rno-1",
+ "label": "Reno, NV", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
+ "Backups", "NodeBalancers", "GPU Linodes", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "", "ipv6":
+ ""}, "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "co-bog-2",
+ "label": "Bogot\u00e1 2, CO", "country": "co", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "fr-mrs-2", "label": "Marseille 2, FR", "country": "fr", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-mia", "label": "Miami, FL", "country": "us", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country":
- "nl", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country":
- "se", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "es-mad", "label": "Madrid, ES", "country":
- "es", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-maa", "label": "Chennai, IN", "country":
- "in", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-osa", "label": "Osaka, JP", "country":
- "jp", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "it-mil", "label": "Milan, IT", "country":
- "it", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-mia", "label": "Miami, FL", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "id-cgk", "label": "Jakarta, ID", "country":
- "id", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-lax", "label": "Los Angeles, CA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nz-akl-1", "label": "Auckland, NZ", "country":
- "nz", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4":
- "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "us-den-1", "label": "Denver, CO", "country":
- "us", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4":
- "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "de-ham-1", "label": "Hamburg, DE",
- "country": "de", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "fr-mrs-1", "label": "Marseille, FR",
- "country": "fr", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "za-jnb-1", "label": "Johannesburg,
- ZA", "country": "za", "capabilities": ["Linodes", "Disk Encryption", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok",
- "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "my-kul-1", "label": "Kuala Lumpur,
- MY", "country": "my", "capabilities": ["Linodes", "Disk Encryption", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok",
- "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "co-bog-1", "label": "Bogot\u00e1, CO",
- "country": "co", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "mx-qro-1", "label": "Quer\u00e9taro,
- MX", "country": "mx", "capabilities": ["Linodes", "Disk Encryption", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok",
- "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "us-hou-1", "label": "Houston, TX",
- "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "cl-scl-1", "label": "Santiago, CL",
- "country": "cl", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "gb-lon", "label": "London 2, UK", "country":
- "gb", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "au-mel", "label": "Melbourne, AU", "country":
- "au", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-bom-2", "label": "Mumbai 2, IN", "country":
- "in", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "GPU Linodes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "de-fra-2", "label": "Frankfurt 2, DE", "country":
- "de", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"],
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "sg-sin-2", "label": "Singapore 2, SG", "country":
- "sg", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-tyo-3", "label": "Tokyo 3, JP", "country":
- "jp", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "de-ber-1", "label": "Berlin, DE", "country":
- "de", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4":
- "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "us-central", "label": "Dallas, TX",
- "country": "us", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"], "status":
- "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
- 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4":
- "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
- "us", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"], "status":
- "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-west", "label": "London, UK", "country":
- "gb", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5,
- 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20,
- 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": null,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-south", "label":
- "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"], "status":
- "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country":
- "de", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"], "status":
- "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country":
- "jp", "capabilities": ["Linodes", "LA Disk Encryption", "Disk Encryption", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "status": "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 42}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 47}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -348,7 +479,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 19 May 2025 16:22:55 GMT
+ - Wed, 06 May 2026 01:49:41 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -367,7 +498,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -386,7 +517,7 @@ interactions:
url: https://api.linode.com/v4beta/lke/tiers/standard/versions?page=1
method: GET
response:
- body: '{"data": [{"id": "1.32", "tier": "standard"}, {"id": "1.31", "tier": "standard"}],
+ body: '{"data": [{"id": "1.35", "tier": "standard"}, {"id": "1.34", "tier": "standard"}],
"page": 1, "pages": 1, "results": 2}'
headers:
Access-Control-Allow-Credentials:
@@ -412,7 +543,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 19 May 2025 16:22:55 GMT
+ - Wed, 06 May 2026 01:49:41 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -435,7 +566,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"node_pools":[{"count":1,"type":"g6-standard-2","disks":null,"tags":["test"],"labels":null,"taints":null}],"label":"go-test-def","region":"ap-west","k8s_version":"1.32","tags":["testing"],"control_plane":{"acl":{"enabled":true,"addresses":{"ipv4":["10.0.0.1/32"],"ipv6":["1234::5678"]}}},"tier":"standard"}'
+ body: '{"node_pools":[{"count":1,"type":"g6-standard-2","disks":null,"tags":["test"],"labels":null,"taints":null}],"label":"go-test-def","region":"au-mel","k8s_version":"1.35","tags":["testing"],"control_plane":{"acl":{"enabled":true,"addresses":{"ipv4":["10.0.0.1/32"],"ipv6":["1234::5678"]}}},"tier":"standard"}'
form: {}
headers:
Accept:
@@ -447,10 +578,10 @@ interactions:
url: https://api.linode.com/v4beta/lke/clusters
method: POST
response:
- body: '{"id": 444268, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
- "2018-01-02T03:04:05", "label": "go-test-def", "region": "ap-west", "k8s_version":
- "1.32", "tier": "standard", "control_plane": {"high_availability": false}, "apl_enabled":
- false, "tags": ["testing"]}'
+ body: '{"id": 600208, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05", "label": "go-test-def", "region": "au-mel", "k8s_version":
+ "1.35", "tier": "standard", "control_plane": {"high_availability": false}, "apl_enabled":
+ false, "tags": ["testing"], "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -469,13 +600,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "279"
+ - "291"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Mon, 19 May 2025 16:23:07 GMT
+ - Wed, 06 May 2026 01:49:48 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -492,7 +623,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -508,10 +639,10 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/444268/control_plane_acl
+ url: https://api.linode.com/v4beta/lke/clusters/600208/control_plane_acl
method: GET
response:
- body: '{"acl": {"enabled": true, "revision-id": "8caa3c9d3da6426abcb99afde35e50b8",
+ body: '{"acl": {"enabled": true, "revision-id": "92be28fe966846a18e9af955d0237c95",
"addresses": {"ipv4": ["10.0.0.1/32"], "ipv6": ["1234::5678/128"]}}}'
headers:
Access-Control-Allow-Credentials:
@@ -537,7 +668,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 19 May 2025 16:23:08 GMT
+ - Wed, 06 May 2026 01:49:49 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -555,7 +686,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -571,7 +702,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/444268/control_plane_acl
+ url: https://api.linode.com/v4beta/lke/clusters/600208/control_plane_acl
method: PUT
response:
body: '{"acl": {"enabled": true, "revision-id": "test-revision-id", "addresses":
@@ -600,7 +731,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 19 May 2025 16:23:12 GMT
+ - Wed, 06 May 2026 01:49:52 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -617,7 +748,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -633,7 +764,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/444268/control_plane_acl
+ url: https://api.linode.com/v4beta/lke/clusters/600208/control_plane_acl
method: DELETE
response:
body: '{}'
@@ -661,7 +792,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 19 May 2025 16:23:15 GMT
+ - Wed, 06 May 2026 01:49:54 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -678,7 +809,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -694,7 +825,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/444268/control_plane_acl
+ url: https://api.linode.com/v4beta/lke/clusters/600208/control_plane_acl
method: GET
response:
body: '{"acl": {"enabled": false, "addresses": {"ipv4": [], "ipv6": []}}}'
@@ -722,7 +853,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 19 May 2025 16:23:16 GMT
+ - Wed, 06 May 2026 01:49:55 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -740,7 +871,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -756,7 +887,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/444268
+ url: https://api.linode.com/v4beta/lke/clusters/600208
method: DELETE
response:
body: '{}'
@@ -784,7 +915,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 19 May 2025 16:23:20 GMT
+ - Wed, 06 May 2026 01:49:59 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -801,7 +932,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestLKENodePool_Update.yaml b/test/integration/fixtures/TestLKENodePool_Update.yaml
index 1492f6290..2df1d8d99 100644
--- a/test/integration/fixtures/TestLKENodePool_Update.yaml
+++ b/test/integration/fixtures/TestLKENodePool_Update.yaml
@@ -17,165 +17,157 @@ interactions:
body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
"Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
- "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
- Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
- "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases",
- "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
- "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
- Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
- "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
- Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
- "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
- Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases",
- "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nz-akl-1",
+ "label": "Auckland, NZ", "country": "nz", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-den-1", "label": "Denver, CO", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "de-ham-1", "label": "Hamburg, DE", "country": "de", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "za-jnb-1", "label": "Johannesburg, ZA", "country": "za", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "my-kul-1", "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "co-bog-1", "label": "Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "mx-qro-1", "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities":
+ ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed
+ Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-hou-1", "label": "Houston, TX", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "cl-scl-1", "label": "Santiago, CL", "country": "cl", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
"label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
"ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
- "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
- "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
- "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
- "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
- "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
"label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
- "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
"label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
- LKE-E"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
"label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
- LKE-E"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
- "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC
- Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-ber-1",
+ "label": "Berlin, DE", "country": "de", "capabilities": ["Linodes", "Disk Encryption",
+ "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance Policy"],
+ "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4":
+ "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "no-osl-1", "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes",
+ "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block
+ Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall",
+ "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium
+ Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
"ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
"NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
"ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
@@ -184,33 +176,51 @@ interactions:
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
"label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC
- Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
"Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases",
- "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
"label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-rno-1",
+ "label": "Reno, NV", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
+ "Backups", "NodeBalancers", "GPU Linodes", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "", "ipv6":
+ ""}, "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "co-bog-2",
+ "label": "Bogot\u00e1 2, CO", "country": "co", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "fr-mrs-2", "label": "Marseille 2, FR", "country": "fr", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-mia", "label": "Miami, FL", "country": "us", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
@@ -219,8 +229,8 @@ interactions:
"Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
@@ -229,8 +239,8 @@ interactions:
"Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok",
- "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
@@ -247,10 +257,10 @@ interactions:
"label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
- ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
"status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
@@ -258,21 +268,21 @@ interactions:
"label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
- LKE-E"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
"label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
"ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
@@ -280,32 +290,98 @@ interactions:
"label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
- Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
- Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
- LKE-E"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
"label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
"metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
{"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
"label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
@@ -313,9 +389,9 @@ interactions:
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
@@ -324,8 +400,8 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
@@ -333,8 +409,8 @@ interactions:
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
@@ -342,20 +418,20 @@ interactions:
Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": ["NodeBalancers"]}, "status":
- "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
- "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
@@ -364,8 +440,8 @@ interactions:
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases", "NodeBalancers"]},
- "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
@@ -373,14 +449,14 @@ interactions:
Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
- {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
- 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
- "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
{"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 47}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -403,7 +479,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 26 Mar 2026 19:18:42 GMT
+ - Wed, 06 May 2026 02:20:20 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -441,17 +517,8 @@ interactions:
url: https://api.linode.com/v4beta/lke/tiers/standard/versions?page=1
method: GET
response:
- body: '{"data": [{"id": "1.35", "tier": "standard"}, {"id": "1.34", "tier": "standard"},
- {"id": "1.33", "tier": "standard"}, {"id": "1.32", "tier": "standard"}, {"id":
- "1.31", "tier": "standard"}, {"id": "1.30", "tier": "standard"}, {"id": "1.29",
- "tier": "standard"}, {"id": "1.28", "tier": "standard"}, {"id": "1.27", "tier":
- "standard"}, {"id": "1.26", "tier": "standard"}, {"id": "1.25", "tier": "standard"},
- {"id": "1.24", "tier": "standard"}, {"id": "1.23", "tier": "standard"}, {"id":
- "1.22", "tier": "standard"}, {"id": "1.21", "tier": "standard"}, {"id": "1.20",
- "tier": "standard"}, {"id": "1.19", "tier": "standard"}, {"id": "1.18", "tier":
- "standard"}, {"id": "1.17", "tier": "standard"}, {"id": "1.15", "tier": "standard"},
- {"id": "1.16", "tier": "standard"}, {"id": "1.14", "tier": "standard"}, {"id":
- "1.13", "tier": "standard"}], "page": 1, "pages": 1, "results": 23}'
+ body: '{"data": [{"id": "1.35", "tier": "standard"}, {"id": "1.34", "tier": "standard"}],
+ "page": 1, "pages": 1, "results": 2}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -469,12 +536,14 @@ interactions:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
+ Content-Length:
+ - "119"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 26 Mar 2026 19:18:42 GMT
+ - Wed, 06 May 2026 02:20:20 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -482,7 +551,6 @@ interactions:
Vary:
- Authorization, X-Filter
- Authorization, X-Filter
- - Accept-Encoding
X-Accepted-Oauth-Scopes:
- lke:read_only
X-Content-Type-Options:
@@ -510,7 +578,7 @@ interactions:
url: https://api.linode.com/v4beta/lke/clusters
method: POST
response:
- body: '{"id": 584698, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
+ body: '{"id": 600212, "status": "ready", "created": "2018-01-02T03:04:05", "updated":
"2018-01-02T03:04:05", "label": "go-lke-test-def", "region": "au-mel", "k8s_version":
"1.35", "tier": "standard", "control_plane": {"high_availability": false}, "apl_enabled":
false, "tags": ["testing"], "locks": []}'
@@ -538,7 +606,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 26 Mar 2026 19:18:50 GMT
+ - Wed, 06 May 2026 02:20:28 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -571,12 +639,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/584698/pools
+ url: https://api.linode.com/v4beta/lke/clusters/600212/pools
method: POST
response:
- body: '{"id": 855505, "type": "g6-standard-2", "label": "", "count": 2, "nodes":
- [{"id": "855505-03c5d1140000", "instance_id": 94907209, "status": "not_ready"},
- {"id": "855505-3b671b360000", "instance_id": null, "status": "not_ready"}],
+ body: '{"id": 880477, "type": "g6-standard-2", "label": "", "count": 2, "nodes":
+ [{"id": "880477-07c1ed2b0000", "instance_id": 97190708, "status": "not_ready"},
+ {"id": "880477-082adf5a0000", "instance_id": null, "status": "not_ready"}],
"disks": [{"size": 1000, "type": "ext4"}], "autoscaler": {"enabled": false,
"min": 2, "max": 2}, "labels": {}, "taints": [], "tags": ["testing"], "disk_encryption":
"enabled", "locks": []}'
@@ -604,7 +672,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 26 Mar 2026 19:18:52 GMT
+ - Wed, 06 May 2026 02:20:30 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -637,12 +705,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/584698/pools/855505
+ url: https://api.linode.com/v4beta/lke/clusters/600212/pools/880477
method: PUT
response:
- body: '{"id": 855505, "type": "g6-standard-2", "label": "", "count": 2, "nodes":
- [{"id": "855505-03c5d1140000", "instance_id": 94907209, "status": "not_ready"},
- {"id": "855505-3b671b360000", "instance_id": null, "status": "not_ready"}],
+ body: '{"id": 880477, "type": "g6-standard-2", "label": "", "count": 2, "nodes":
+ [{"id": "880477-07c1ed2b0000", "instance_id": 97190708, "status": "not_ready"},
+ {"id": "880477-082adf5a0000", "instance_id": 97190709, "status": "not_ready"}],
"disks": [{"size": 1000, "type": "ext4"}], "autoscaler": {"enabled": true, "min":
2, "max": 5}, "labels": {}, "taints": [], "tags": [], "disk_encryption": "enabled",
"locks": []}'
@@ -664,13 +732,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "408"
+ - "412"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 26 Mar 2026 19:18:54 GMT
+ - Wed, 06 May 2026 02:20:32 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -703,13 +771,13 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/584698/pools/855505
+ url: https://api.linode.com/v4beta/lke/clusters/600212/pools/880477
method: PUT
response:
- body: '{"id": 855505, "type": "g6-standard-2", "label": "", "count": 3, "nodes":
- [{"id": "855505-03c5d1140000", "instance_id": 94907209, "status": "not_ready"},
- {"id": "855505-242f20850000", "instance_id": 94907215, "status": "not_ready"},
- {"id": "855505-3b671b360000", "instance_id": 94907213, "status": "not_ready"}],
+ body: '{"id": 880477, "type": "g6-standard-2", "label": "", "count": 3, "nodes":
+ [{"id": "880477-07c1ed2b0000", "instance_id": 97190708, "status": "not_ready"},
+ {"id": "880477-082adf5a0000", "instance_id": 97190709, "status": "not_ready"},
+ {"id": "880477-2286c1820000", "instance_id": 97190711, "status": "not_ready"}],
"disks": [{"size": 1000, "type": "ext4"}], "autoscaler": {"enabled": true, "min":
2, "max": 5}, "labels": {"foo": "bar"}, "taints": [{"key": "foo", "value": "bar",
"effect": "NoSchedule"}], "tags": ["bar", "foo", "test"], "disk_encryption":
@@ -738,7 +806,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 26 Mar 2026 19:18:57 GMT
+ - Wed, 06 May 2026 02:20:36 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -771,7 +839,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/584698/pools/855505
+ url: https://api.linode.com/v4beta/lke/clusters/600212/pools/880477
method: DELETE
response:
body: '{}'
@@ -799,7 +867,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 26 Mar 2026 19:19:00 GMT
+ - Wed, 06 May 2026 02:20:38 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -832,7 +900,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/lke/clusters/584698
+ url: https://api.linode.com/v4beta/lke/clusters/600212
method: DELETE
response:
body: '{}'
@@ -860,7 +928,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 26 Mar 2026 19:19:04 GMT
+ - Wed, 06 May 2026 02:20:42 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestLogStream_Create_EmptyDestinations.yaml b/test/integration/fixtures/TestLogStream_Create_EmptyDestinations.yaml
new file mode 100644
index 000000000..78ddf91e7
--- /dev/null
+++ b/test/integration/fixtures/TestLogStream_Create_EmptyDestinations.yaml
@@ -0,0 +1,111 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams?page=1
+ method: GET
+ response:
+ body: '{"pages": 0, "page": 1, "results": 0, "data": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "49"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:14:29 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"destinations":[],"label":"go-test-empty-dest-1778670869600276000","type":"audit_logs"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams
+ method: POST
+ response:
+ body: '{"errors": [{"reason": "Must contain one item", "field": "destinations"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Content-Length:
+ - "74"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:14:29 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 400 Bad Request
+ code: 400
+ duration: ""
diff --git a/test/integration/fixtures/TestLogStream_Create_InvalidDestination.yaml b/test/integration/fixtures/TestLogStream_Create_InvalidDestination.yaml
new file mode 100644
index 000000000..2799b310b
--- /dev/null
+++ b/test/integration/fixtures/TestLogStream_Create_InvalidDestination.yaml
@@ -0,0 +1,111 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams?page=1
+ method: GET
+ response:
+ body: '{"pages": 0, "page": 1, "results": 0, "data": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "49"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:13:28 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"destinations":[999999999],"label":"go-test-invalid-dest-1778670808717128000","type":"audit_logs"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams
+ method: POST
+ response:
+ body: '{"errors": [{"reason": "Destination not found", "field": "destination"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Content-Length:
+ - "73"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:13:29 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 400 Bad Request
+ code: 400
+ duration: ""
diff --git a/test/integration/fixtures/TestLogStream_Create_TwoDestinations.yaml b/test/integration/fixtures/TestLogStream_Create_TwoDestinations.yaml
new file mode 100644
index 000000000..59a611e18
--- /dev/null
+++ b/test/integration/fixtures/TestLogStream_Create_TwoDestinations.yaml
@@ -0,0 +1,1519 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams?page=1
+ method: GET
+ response:
+ body: '{"pages": 0, "page": 1, "results": 0, "data": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "49"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:15:33 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:15:33 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","label":"go-test-logs-monitoring-1778670933771432000","acl":"private","cors_enabled":false}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets
+ method: POST
+ response:
+ body: '{"hostname": "go-test-logs-monitoring-1778670933771432000.gb-lon-1.linodeobjects.com",
+ "label": "go-test-logs-monitoring-1778670933771432000", "created": "2018-01-02T03:04:05",
+ "region": "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "304"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:15:39 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670939512274000","regions":["gb-lon"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys
+ method: POST
+ response:
+ body: '{"id": 3687705, "label": "go-test-logs-monitoring-1778670939512274000",
+ "access_key": "[SANITIZED]", "secret_key": "[SANITIZED]", "limited": false,
+ "bucket_access": null, "regions": [{"id": "gb-lon", "s3_endpoint": "gb-lon-1.linodeobjects.com",
+ "endpoint_type": "E3"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "307"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:15:41 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","label":"go-test-logs-monitoring-1778670941396790000","acl":"private","cors_enabled":false}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets
+ method: POST
+ response:
+ body: '{"hostname": "go-test-logs-monitoring-1778670941396790000.gb-lon-1.linodeobjects.com",
+ "label": "go-test-logs-monitoring-1778670941396790000", "created": "2018-01-02T03:04:05",
+ "region": "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "304"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:15:46 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670946262647000","regions":["gb-lon"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys
+ method: POST
+ response:
+ body: '{"id": 3687707, "label": "go-test-logs-monitoring-1778670946262647000",
+ "access_key": "[SANITIZED]", "secret_key": "[SANITIZED]", "limited": false,
+ "bucket_access": null, "regions": [{"id": "gb-lon", "s3_endpoint": "gb-lon-1.linodeobjects.com",
+ "endpoint_type": "E3"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "307"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:15:48 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670948795870000","type":"akamai_object_storage","details":{"access_key_id":"[SANITIZED]","access_key_secret":"[SANITIZED]","bucket_name":"go-test-logs-monitoring-1778670933771432000","host":"go-test-logs-monitoring-1778670933771432000.gb-lon-1.linodeobjects.com"}}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations
+ method: POST
+ response:
+ body: '{"id": 500, "label": "go-test-logs-monitoring-1778670948795870000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778670933771432000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778670933771432000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:15:49 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670950007439000","type":"akamai_object_storage","details":{"access_key_id":"[SANITIZED]","access_key_secret":"[SANITIZED]","bucket_name":"go-test-logs-monitoring-1778670941396790000","host":"go-test-logs-monitoring-1778670941396790000.gb-lon-1.linodeobjects.com"}}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations
+ method: POST
+ response:
+ body: '{"id": 501, "label": "go-test-logs-monitoring-1778670950007439000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778670941396790000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778670941396790000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:15:51 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"destinations":[500,501],"label":"go-test-two-dest-1778670951252933000","type":"audit_logs"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams
+ method: POST
+ response:
+ body: '{"errors": [{"reason": "Must contain one item", "field": "destinations"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Content-Length:
+ - "74"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:15:51 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 400 Bad Request
+ code: 400
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/501
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:15:51 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/500
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:15:52 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys/3687707
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:15:53 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670941396790000/object-list
+ method: GET
+ response:
+ body: '{"data": [{"name": "cloud-logs-test-connection-20260513T111550", "size":
+ 9, "last_modified": "2018-01-02T03:04:05.828Z", "etag": "06aa6fa8bdc2078e7e1bd903e70c8f6a",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}], "next_marker": null, "is_truncated":
+ false}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "259"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:15:55 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"cloud-logs-test-connection-20260513T111550","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670941396790000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778670941396790000/cloud-logs-test-connection-20260513T111550?Signature=HYQjA0aBVmleg2nfSLpHArNN6qU%3D&Expires=1778671319&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCnzKxAcxE9e4dd0ahnP9p1bkmCdNdUpQfwJdbxYp2ebgCWA51k0YiYSzMWB1jMhxUmM4Z2o%2BdNg3CROZTxXRmwxWas0XsaGe6vdFneclsHz2hHkcyHlgETPMNBUSkHBS4KVb7N6uBtBMV%2ByZq6iJOlmJ%2BTmrQ1dFHkxcOEIlbc/gUM1ArwyjVuPHPj8yAAvGHjzYPj1%2BL1cUhrPUam9C4KZyQE4Gc6qqJ24EstQkMp8Tg1lIkl4jLCUfMS8fmtAIvXzxQglQFAcCRH66SWFuT%2B0nsm9k%2BiTJfRj82xj3yW1/ZNrYtj1HEhd3JKAxp0AZQqILMy1/8DC4SctqZsLACT/FsGUk9LMBf%2BRJy7BnbktkEfaC%2BrOvAcO5SsX76y16tRnWIC7j6plBGQig3AS/RTEyVpRvzVpnYzB8KKSd2Yyh/pbI3Ny0tZe/lnCk8g2wnpFGu7YJKQOOw%2BL3o0fGzD8%2BrIWw",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "854"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:15:59 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670941396790000
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:16:06 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys/3687705
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:16:06 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670933771432000/object-list
+ method: GET
+ response:
+ body: '{"data": [{"name": "cloud-logs-test-connection-20260513T111549", "size":
+ 9, "last_modified": "2018-01-02T03:04:05.647Z", "etag": "06aa6fa8bdc2078e7e1bd903e70c8f6a",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}], "next_marker": null, "is_truncated":
+ false}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "259"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:16:09 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"cloud-logs-test-connection-20260513T111549","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670933771432000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778670933771432000/cloud-logs-test-connection-20260513T111549?Signature=gGzmnX6ExZFWBjmW02AgwVELSdo%3D&Expires=1778671333&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCuqr30nEb%2B7bRvCRl7yBD5%2BCijkfAawy12%2BUlYNC%2BNz0SUYLpF9BnOEYyX%2B9OoCCHtDl%2BJPVD14TBfyJg2b9nVY1xKPAIG/FJ61Ra%2BBFDyTZSf4li65k8Ls8Hj9P6wMOLsYBIBjbEAnRSIiyMa6VErW3gNN/7EQODr8hO8eduiB%2B4hN3DL0qtks9Ja9y5Ycnr2AItQIK7chBItsDzGkHsufmPfqr6E7XmGWUelvwKSQYAQvo9w/4f1ILrQy9uw9VonTVJtw9d4bwzlZCGe/88Hq6giKin7syCxIwhl7iroIxL/boCobfmZQ38apxgt2dGNVeXfmLz6W8lNh2hItBSCkjb4KqoIsuhKNEIusnqmAKb3ILLSIJTUBDqlkAEUwhPi5Qq8y6dx36CaM1R0YACp7SA0/bCEdWnYAKLSEZbecRlJ1Qgd8K8EqeNGIaGJJhdX2U%2BvCkrd%2Bp8mXHMahbd6OZilBJ",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "854"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:16:13 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670933771432000
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:16:20 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestLogStream_Delete.yaml b/test/integration/fixtures/TestLogStream_Delete.yaml
new file mode 100644
index 000000000..e27a8fbfe
--- /dev/null
+++ b/test/integration/fixtures/TestLogStream_Delete.yaml
@@ -0,0 +1,1460 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:18:13 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","label":"go-test-logs-monitoring-1778671093013274000","acl":"private","cors_enabled":false}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets
+ method: POST
+ response:
+ body: '{"hostname": "go-test-logs-monitoring-1778671093013274000.gb-lon-1.linodeobjects.com",
+ "label": "go-test-logs-monitoring-1778671093013274000", "created": "2018-01-02T03:04:05",
+ "region": "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "304"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:18:18 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778671098806378000","regions":["gb-lon"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys
+ method: POST
+ response:
+ body: '{"id": 3687731, "label": "go-test-logs-monitoring-1778671098806378000",
+ "access_key": "[SANITIZED]", "secret_key": "[SANITIZED]", "limited": false,
+ "bucket_access": null, "regions": [{"id": "gb-lon", "s3_endpoint": "gb-lon-1.linodeobjects.com",
+ "endpoint_type": "E3"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "307"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:18:20 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778671100746811000","type":"akamai_object_storage","details":{"access_key_id":"[SANITIZED]","access_key_secret":"[SANITIZED]","bucket_name":"go-test-logs-monitoring-1778671093013274000","host":"go-test-logs-monitoring-1778671093013274000.gb-lon-1.linodeobjects.com"}}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations
+ method: POST
+ response:
+ body: '{"id": 502, "label": "go-test-logs-monitoring-1778671100746811000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778671093013274000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778671093013274000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:18:21 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams?page=1
+ method: GET
+ response:
+ body: '{"pages": 0, "page": 1, "results": 0, "data": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "49"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:18:22 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"destinations":[502],"label":"go-test-log-stream-1778671102396381000","type":"audit_logs"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams
+ method: POST
+ response:
+ body: '{"id": 227, "label": "go-test-log-stream-1778671102396381000", "type":
+ "audit_logs", "destinations": [{"id": 502, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778671100746811000", "details": {"host":
+ "go-test-logs-monitoring-1778671093013274000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778671093013274000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "provisioning", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "589"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:18:22 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/227
+ method: GET
+ response:
+ body: '{"id": 227, "label": "go-test-log-stream-1778671102396381000", "type":
+ "audit_logs", "destinations": [{"id": 502, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778671100746811000", "details": {"host":
+ "go-test-logs-monitoring-1778671093013274000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778671093013274000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "583"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:40:32 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/227
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:40:33 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/227
+ method: GET
+ response:
+ body: '{"errors": [{"reason": "Stream not found"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "44"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:40:33 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 404 Not Found
+ code: 404
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/227
+ method: GET
+ response:
+ body: '{"errors": [{"reason": "Stream not found"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "44"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:40:34 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 404 Not Found
+ code: 404
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/502
+ method: GET
+ response:
+ body: '{"id": 502, "label": "go-test-logs-monitoring-1778671100746811000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778671093013274000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778671093013274000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:40:34 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/502
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:40:34 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys/3687731
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:40:35 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778671093013274000/object-list
+ method: GET
+ response:
+ body: '{"data": [{"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-691746-1778672305-372420-config.gz",
+ "size": 1022, "last_modified": "2018-01-02T03:04:05.798Z", "etag": "234e378ca84aa699fd391c0181d3267c",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-931586-1778672312-535904-config.gz",
+ "size": 1282, "last_modified": "2018-01-02T03:04:05.946Z", "etag": "a6be76421ba53b15d5d0d20b61dc3749",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "cloud-logs-test-connection-20260513T111821",
+ "size": 9, "last_modified": "2018-01-02T03:04:05.633Z", "etag": "06aa6fa8bdc2078e7e1bd903e70c8f6a",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}], "next_marker": null, "is_truncated":
+ false}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "831"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:40:37 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-691746-1778672305-372420-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778671093013274000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778671093013274000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-691746-1778672305-372420-config.gz?Signature=tpvr6kkTcIOsUPZ5tlZvr6O2GUQ%3D&Expires=1778672800&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCqDtRLkGY2BhRpq7ybpVHHLutL2j5hsRabmoEu%2BYZbZBDqB6cHOVxt8lhVYJVb3c3JJqVgGbLkUTGNayFOIEo9iYIJcUBMF3ktxO9N2iiWdBKxOzCK4tpFZ8IHZaa4vKx60ySYQkaiZ8FEPAV2jCzRe7bYl4Zh0OZZFof8rNIeBAhkgZif4rD8wp/d5pc4Kx6e%2Bk6UtceTWI2p2pDUqaMs/MZmdicPJ6UXpNueBdCt57KQwPkrjfglAbuI0zfQh8vjHhu98zbFeslFs6NCTuZPlKWy5mJ10y/6NRBdzKBqMZno/w/54v43K23vKx3mWLLkIkTOYcR0vj79nVv68pNR1lItVErLoX1Qrfk1rJQMoNPhxdV8oUtU2s4LByvMKrY8Ldat1CLA5gpkqcTfTXLjCsmER8fhwd%2BHTzIUdHzCbTDYvX0QkH4KNd%2BQwdOZYxwoeooiveoCauEqB%2BA%2Bung7nDArNx",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:40:41 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-931586-1778672312-535904-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778671093013274000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778671093013274000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-931586-1778672312-535904-config.gz?Signature=u1t%2FKYSu2OjFKSxqmbRT30i04Ro%3D&Expires=1778672805&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCuUmDf4Nl6MxRJp7O3rEs5ojrjDR2n0YJ75/w9h5Dcwnh1yJ/r8cys07kYZy0Tar0f5HjVQLX/MkRIfaWLnYlmdXJuQPKcF3JnLxmsSpgvLA1%2BGUPrOcIQHTCUuhy8WMZlh5MaCg/kCsif%2By38cM5bzU7O1LbiPDYDirQKgx7YhV0tbDzk6N2mkmJSgTWQripLzqPq6zneaxcktw/I/DrIWYoWfrx0j9tN0YWYnoOsWdtm62D4AtfdnlCNkdlq8cb/bxwBs4t9aOspiuSz/tn3P9NdYoDTl1ayBuQfa2GyUexSnaOd3vX83dH9f8bIEtZgYA6ds4kF4GzwkS2OgVA/JgU8kn/p9puai5cRasWpFRyXnfwpsgVYlqwKE4ncODAPnNMt%2BYwgL7ui%2Bpd%2B%2BYxnT6jzWCw5Qk62ovtc1ZqMyx5oVrsAYqdnelZ95O4h/AU7npxXRN745fYipfzcYtdiAjNFXm",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:40:45 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"cloud-logs-test-connection-20260513T111821","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778671093013274000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778671093013274000/cloud-logs-test-connection-20260513T111821?Signature=wW7ZV3DpaM15W8tHtveCISvHihk%3D&Expires=1778672808&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCl9CIkV6x/b7ZF4GMuRABmkOUdb6HmV1tDhUnh6JBwTPRf6f0WqNIKji%2BFWZde66%2BQbNkF/hnogn9KTGtCRjBIDBEuMwXbnMblDQv/flj%2BZClTBWcs3AJhb7pU4RGsVIgnT0M1PA%2BP9Au4aCd6nmNugw4OCZRPpErkdTHf9DnchFWh04inCghrWOzizQGVmTOwKIFiAUjTXV1a51ydlqukbpLJOBsV9ivqhbOfpmfXFuA0z8CYNu8gOVw6LLJF38fIOby89z0fNNc5kXiQtGcKLb/5CIeu2D16siGCJuEiycbKbuZ7SpcXgSHzQ1RzlpAFlE/dfAJw01H8wYRl6yy/e/rMGOHR0T7c4SNLm9ksPAFF5fDaH7yZ1I5eWTW3rPOgbll7dIwEqrtYLcnrNpLo78ptgSPV7ZulV8CF7FG7Px0oiflzOfdQ6rNAakYVdCUFiwajgqgNuil8ISndHvquXggOyh",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "842"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:40:48 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778671093013274000
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:40:54 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestLogStream_Get.yaml b/test/integration/fixtures/TestLogStream_Get.yaml
new file mode 100644
index 000000000..c15a0579a
--- /dev/null
+++ b/test/integration/fixtures/TestLogStream_Get.yaml
@@ -0,0 +1,1673 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:37:52 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","label":"go-test-logs-monitoring-1778675872118286000","acl":"private","cors_enabled":false}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets
+ method: POST
+ response:
+ body: '{"hostname": "go-test-logs-monitoring-1778675872118286000.gb-lon-1.linodeobjects.com",
+ "label": "go-test-logs-monitoring-1778675872118286000", "created": "2018-01-02T03:04:05",
+ "region": "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "304"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:37:56 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778675876813828000","regions":["gb-lon"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys
+ method: POST
+ response:
+ body: '{"id": 3688131, "label": "go-test-logs-monitoring-1778675876813828000",
+ "access_key": "[SANITIZED]", "secret_key": "[SANITIZED]", "limited": false,
+ "bucket_access": null, "regions": [{"id": "gb-lon", "s3_endpoint": "gb-lon-1.linodeobjects.com",
+ "endpoint_type": "E3"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "307"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:37:58 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778675878525257000","type":"akamai_object_storage","details":{"access_key_id":"[SANITIZED]","access_key_secret":"[SANITIZED]","bucket_name":"go-test-logs-monitoring-1778675872118286000","host":"go-test-logs-monitoring-1778675872118286000.gb-lon-1.linodeobjects.com"}}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations
+ method: POST
+ response:
+ body: '{"id": 506, "label": "go-test-logs-monitoring-1778675878525257000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778675872118286000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778675872118286000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:37:59 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams?page=1
+ method: GET
+ response:
+ body: '{"pages": 0, "page": 1, "results": 0, "data": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "49"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:38:00 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"destinations":[506],"label":"go-test-log-stream-1778675880197685000","type":"audit_logs"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams
+ method: POST
+ response:
+ body: '{"id": 229, "label": "go-test-log-stream-1778675880197685000", "type":
+ "audit_logs", "destinations": [{"id": 506, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778675878525257000", "details": {"host":
+ "go-test-logs-monitoring-1778675872118286000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778675872118286000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "provisioning", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "589"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:38:00 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/229
+ method: GET
+ response:
+ body: '{"id": 229, "label": "go-test-log-stream-1778675880197685000", "type":
+ "audit_logs", "destinations": [{"id": 506, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778675878525257000", "details": {"host":
+ "go-test-logs-monitoring-1778675872118286000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778675872118286000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "583"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 13:13:17 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/229
+ method: GET
+ response:
+ body: '{"id": 229, "label": "go-test-log-stream-1778675880197685000", "type":
+ "audit_logs", "destinations": [{"id": 506, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778675878525257000", "details": {"host":
+ "go-test-logs-monitoring-1778675872118286000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778675872118286000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "583"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 13:13:17 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/229
+ method: GET
+ response:
+ body: '{"id": 229, "label": "go-test-log-stream-1778675880197685000", "type":
+ "audit_logs", "destinations": [{"id": 506, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778675878525257000", "details": {"host":
+ "go-test-logs-monitoring-1778675872118286000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778675872118286000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "583"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 13:13:17 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/229
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 13:13:18 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/229
+ method: GET
+ response:
+ body: '{"errors": [{"reason": "Stream not found"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "44"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 13:13:18 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 404 Not Found
+ code: 404
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/506
+ method: GET
+ response:
+ body: '{"id": 506, "label": "go-test-logs-monitoring-1778675878525257000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778675872118286000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778675872118286000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 13:13:19 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/506
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 13:13:19 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys/3688131
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 13:13:20 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778675872118286000/object-list
+ method: GET
+ response:
+ body: '{"data": [{"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-071313-1778677950-627866-config.gz",
+ "size": 1108, "last_modified": "2018-01-02T03:04:05.496Z", "etag": "cd592d588d3305e8f6f0b12919abe88c",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-203562-1778677736-178718-config.gz",
+ "size": 574, "last_modified": "2018-01-02T03:04:05.503Z", "etag": "2596617bacd393455f30f19f22829145",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-824842-1778677348-675747-config.gz",
+ "size": 656, "last_modified": "2018-01-02T03:04:05.890Z", "etag": "b9d1c2d1cc757308bbef6b7283522ba9",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-827277-1778677930-013301-config.gz",
+ "size": 1748, "last_modified": "2018-01-02T03:04:05.328Z", "etag": "493d3f989828629f51a8da95257e33d4",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "cloud-logs-test-connection-20260513T123758",
+ "size": 9, "last_modified": "2018-01-02T03:04:05.376Z", "etag": "06aa6fa8bdc2078e7e1bd903e70c8f6a",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}], "next_marker": null, "is_truncated":
+ false}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 13:13:23 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-071313-1778677950-627866-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778675872118286000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778675872118286000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-071313-1778677950-627866-config.gz?Signature=QJ84X%2Bj0JFeQJr0PHl%2BXXeAbvHk%3D&Expires=1778678366&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCiu9dL26tpDAO79X0RnPb23p3MuybTFOXkyJtlm6ZjN01QRtMUlb1htCuzQqslRDtNt/0xQz9nVkNy/9uvpg7%2BBeIbj7LABWExYiZXK5J0gAmrEC77VndD1HWp71NCyt9XV5ERoS38TSi6H5PGXXyWxNNuNbSjIclj7sz4FqoNd7qkYRvI1laQRcK/QRtlypcoQtKfOc9vQ36kp4InTFEeoy3nZPipa4DeaqbN1YoKl5JEpuoJ1nJzuEYzaUxetjnZZe4iFxFzKeuUjxKgdFLrcJWVN/Gze4iEq%2B/hSAtUFL1ZeglqdpirP5eZU3iCFTTGQbDmqxq6r/UD4n9EABofERZaLfD12461pbcCaCK0J6xtxZGp2bC%2BgEn9q15Hb%2B3ZeROIs3HoIsfvNVVIesce0sJ4Mat9q3xMEn3dcvmsFHQPJsoU46LpVH/u/eqBS8tCzEe0aXvHM6%2BRq3Rt7etzN9jgK4",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 13:13:27 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-203562-1778677736-178718-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778675872118286000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778675872118286000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-203562-1778677736-178718-config.gz?Signature=y2vEtLjsH1dLKT6AJsLiFD0KrFQ%3D&Expires=1778678371&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjClyHL6P%2BGwXoVB%2Br/QRdSiK/3Gj9d3cTZOZmzKBTxQmsPI0AyR9bgDrNSUnOs5N8RtwMvAZUuLkh3zYtyVlR4%2BUs43Du4tpmJqKWwgNfrQMr9oUeDUwtrEkVUe7DjR0LD9oZD3JrH/MSr77jyUyWgWE2ALRERdUndRaKzxMtex1TNd74NbDE/Cufg%2BtO6VJS5/v7Z6dCViCNjcI6xkO32RvcTnxRjxWY/sFkUXvVfVSFHizFwPbbXABtPJ4y0phhXbaR/EAQiINCKU6YAarQhHBgVussX/7SLzU5fZpUtM9lyQMyOpYo3YVN5fH4GspzietIFcZPqRJu22wtJPhigJLi1/XSeo1zrxovctENR1dBmGt0NVw1EuDl1aD8f0RezbSFdazjAc2C2ugvsd9Mxwn5EjdYCgF%2BXfRUxyDHsf%2BvSo610iIk0azCAQ6aG9Hl7bjJBt5pg%2BbulAqmYD01va/M36qC",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 13:13:31 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-824842-1778677348-675747-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778675872118286000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778675872118286000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-824842-1778677348-675747-config.gz?Signature=5An6JhA126sVZETdtWh%2Bp3spsOM%3D&Expires=1778678374&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCmsJBLcWteC32%2BsbYyDB75EtbSXxEH8volWuB2qoUYJZbQieGrMQt8uiAuvhULJAm7X4TwExG9FYOpO%2BqZOCJZojDWMRQtl3MO6RqSXCXmrLwsCvvHgbbZyydUaD%2BGuh/LjqI0ZPQjZA7Pd77jvzidCCEkHjhy492yWZHslbcQexw5VKfmv7NxHYvIvlcnAlTzL8/AWmcvPhQNu/UNAdpECpqMoE2U3V8nifFvcs42VA9oxCfcS3KfA5410RZB5RSWtPqBjutOpdqmeMO3JVrDkWnbikg0Stdd4Fu%2BqR8Et76bx71Amm9cuezfscG20ColFDZcyhCdpW2oPRbBFjFvvuNlbSw%2B%2BeAd07jluVVHDLZpMlrVTJE0zX/7Ct3/F3j0Auc%2BOh0AkU/BaRl/3bTX4IISJI5DdZ1p6n13%2B5GKC/xp%2BeOSDPhtP2TUKVZgEGeG6O8Z828Vc%2BHXi1Iq9Ie1FFEluz",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 13:13:34 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-827277-1778677930-013301-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778675872118286000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778675872118286000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-827277-1778677930-013301-config.gz?Signature=cL26KXCZbhqkmCbdyKUEdCp39%2BM%3D&Expires=1778678378&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCvlvdM6GVyHdBadYbdhDNTJnen%2B/SrS3w4zRfSaGbrzLNFRVDiaBlS/RlygvLTgcm7RlK5R1/p3Ly47LTDhJg3vvXXk8UBh3PYW3UmDx1Gw22jOXf2d5WG0ebc61Duyx65x78MOufbV5j6FpG%2BNIl9tM8EXoKr1Iv5UB2h8vlfmLO2yVEs8KIRxosVRhRG0WgG/jUpbSUglrwRalxPs8Y6/BDR4nADdsxAZU8UHzg3VmfVE00upgcqahPtZmsMiGs1b28oQSSWytP3g6u1%2Bgjsve/N1UOu9FqraeSbZEQebnVY39bcaGe1tFEppP2rRkh0g4uLpj161eMmsXGPJOqCbZkIyraG1gxIjBnxXA4UhiW5voYMTiFSFUDWlJyI%2BPau3e/qQdMgsCjuAuOi3AuO9ZJey2y%2BTZdMIGNVTTh1Yh9uyFeaQZvf%2BfXcN9Kj%2BXFoZ2eiL5eikRCCtYQSD1es0xW9jj",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 13:13:38 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"cloud-logs-test-connection-20260513T123758","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778675872118286000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778675872118286000/cloud-logs-test-connection-20260513T123758?Signature=FxzIcgWAFwasQt4M3LluO6ZbnBI%3D&Expires=1778678382&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCjCoSs3JGLRiwrTpof9haQWTHW%2BzoLs8pJAhOdFBzruo30lzVvbtClwxzu2fFCLcc32ek/b15VR8XEne3x99dG10dQVyllxVO4vqVire07rWwiXmBrTIvYQUnnE7ue8w66Em5CAwMlvEnyp6kyob8NA9a3udm5pHPVXkuAOrUbV2DFOHMZWPibYPRCWtVdqW8Yww1EozBJ/rfouKzQTJ4t22q8Rcz765xkZO0KUjK77VIzRIu7zc6feuLDVT%2BcQu8x7kYAVPM5VQaHLsLDJWsJaH2xWiPMCoMAYKmnAIa%2BIZ9X3Ii6BsIqZ3qAKr4Ni1lQwV6%2BfgQf3ipCCbdlTB9mBeGzjTyzW/LXyd%2BowVWDlSmSgJS9iuhjjB5i64K4KikoVjhd/dKwQuz43SO6jpnJiL%2Bdk3LounZRZyA1EGALEmb3SRbkYbxyir7p/TV%2BXIVspP2hjlrJJZciWJopABml3XNp82",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "848"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 13:13:42 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778675872118286000
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 13:13:48 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestLogStream_List.yaml b/test/integration/fixtures/TestLogStream_List.yaml
new file mode 100644
index 000000000..1f703f5d5
--- /dev/null
+++ b/test/integration/fixtures/TestLogStream_List.yaml
@@ -0,0 +1,2681 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:03:29 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","label":"go-test-logs-monitoring-1778673809872719000","acl":"private","cors_enabled":false}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets
+ method: POST
+ response:
+ body: '{"hostname": "go-test-logs-monitoring-1778673809872719000.gb-lon-1.linodeobjects.com",
+ "label": "go-test-logs-monitoring-1778673809872719000", "created": "2018-01-02T03:04:05",
+ "region": "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "304"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:03:34 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778673814018227000","regions":["gb-lon"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys
+ method: POST
+ response:
+ body: '{"id": 3687956, "label": "go-test-logs-monitoring-1778673814018227000",
+ "access_key": "[SANITIZED]", "secret_key": "[SANITIZED]", "limited": false,
+ "bucket_access": null, "regions": [{"id": "gb-lon", "s3_endpoint": "gb-lon-1.linodeobjects.com",
+ "endpoint_type": "E3"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "307"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:03:35 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778673815866646000","type":"akamai_object_storage","details":{"access_key_id":"[SANITIZED]","access_key_secret":"[SANITIZED]","bucket_name":"go-test-logs-monitoring-1778673809872719000","host":"go-test-logs-monitoring-1778673809872719000.gb-lon-1.linodeobjects.com"}}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations
+ method: POST
+ response:
+ body: '{"id": 503, "label": "go-test-logs-monitoring-1778673815866646000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778673809872719000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778673809872719000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:03:37 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams?page=1
+ method: GET
+ response:
+ body: '{"pages": 0, "page": 1, "results": 0, "data": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "49"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:03:37 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"destinations":[503],"label":"go-test-log-stream-1778673817548386000","type":"audit_logs"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams
+ method: POST
+ response:
+ body: '{"id": 228, "label": "go-test-log-stream-1778673817548386000", "type":
+ "audit_logs", "destinations": [{"id": 503, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778673815866646000", "details": {"host":
+ "go-test-logs-monitoring-1778673809872719000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778673809872719000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "provisioning", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "589"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:03:37 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/228
+ method: GET
+ response:
+ body: '{"id": 228, "label": "go-test-log-stream-1778673817548386000", "type":
+ "audit_logs", "destinations": [{"id": 503, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778673815866646000", "details": {"host":
+ "go-test-logs-monitoring-1778673809872719000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778673809872719000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "583"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:29:50 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams?page=1
+ method: GET
+ response:
+ body: '{"pages": 1, "page": 1, "results": 1, "data": [{"id": 228, "label": "go-test-log-stream-1778673817548386000",
+ "type": "audit_logs", "destinations": [{"id": 503, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778673815866646000", "details": {"host":
+ "go-test-logs-monitoring-1778673809872719000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778673809872719000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "632"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:29:50 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/228
+ method: GET
+ response:
+ body: '{"id": 228, "label": "go-test-log-stream-1778673817548386000", "type":
+ "audit_logs", "destinations": [{"id": 503, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778673815866646000", "details": {"host":
+ "go-test-logs-monitoring-1778673809872719000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778673809872719000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "583"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:29:50 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/228
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:29:51 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/228
+ method: GET
+ response:
+ body: '{"errors": [{"reason": "Stream not found"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "44"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:29:51 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 404 Not Found
+ code: 404
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/503
+ method: GET
+ response:
+ body: '{"id": 503, "label": "go-test-logs-monitoring-1778673815866646000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778673809872719000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778673809872719000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:29:51 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/503
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:29:52 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys/3687956
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:29:53 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-list
+ method: GET
+ response:
+ body: '{"data": [{"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-006346-1778675096-541384-config.gz",
+ "size": 937, "last_modified": "2018-01-02T03:04:05.137Z", "etag": "dc2d7fb2b25df390fd4fea8728a30d48",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-011125-1778675186-265637-config.gz",
+ "size": 557, "last_modified": "2018-01-02T03:04:05.315Z", "etag": "b6ed960761a2919e39d6a7190d1fba86",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-013414-1778675161-799444-config.gz",
+ "size": 941, "last_modified": "2018-01-02T03:04:05.434Z", "etag": "67f8579915fda5b50c6615e478a9c65b",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-035060-1778674930-175074-config.gz",
+ "size": 1010, "last_modified": "2018-01-02T03:04:05.539Z", "etag": "ddce66c713986b25b1271600cd1d9a15",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-105912-1778675004-599304-config.gz",
+ "size": 5182, "last_modified": "2018-01-02T03:04:05.125Z", "etag": "70ab186e7f88c46f39a8b40c44d1df09",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-308185-1778675225-115697-config.gz",
+ "size": 487, "last_modified": "2018-01-02T03:04:05.733Z", "etag": "a55a4d3e71a264f2d8974f7fa18a3917",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-323695-1778675004-816833-config.gz",
+ "size": 1214, "last_modified": "2018-01-02T03:04:05.235Z", "etag": "e4b4d7128c4b6f3a7cdf8e8997a8b30d",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-419568-1778675235-950783-config.gz",
+ "size": 795, "last_modified": "2018-01-02T03:04:05.876Z", "etag": "dabf2d22aff3ad65a8f8c9c26676c7af",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-458683-1778675290-737341-config.gz",
+ "size": 487, "last_modified": "2018-01-02T03:04:05.963Z", "etag": "97d01c6375521765d0009a06d62fdc04",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-469065-1778675356-345017-config.gz",
+ "size": 959, "last_modified": "2018-01-02T03:04:05.877Z", "etag": "f7f311d44a73231af161c83fdf57f917",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-474128-1778675068-486979-config.gz",
+ "size": 958, "last_modified": "2018-01-02T03:04:05.773Z", "etag": "529788bcd5526711176ed416cc04753c",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-479737-1778675193-061392-config.gz",
+ "size": 698, "last_modified": "2018-01-02T03:04:05.112Z", "etag": "640c95154da901ffb0631ab8c2178169",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-496065-1778674830-216583-config.gz",
+ "size": 1736, "last_modified": "2018-01-02T03:04:05.375Z", "etag": "e1b1a10151e03cd1fadcfa381b421f55",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-508251-1778674750-124460-config.gz",
+ "size": 669, "last_modified": "2018-01-02T03:04:05.488Z", "etag": "97c275987f593f226c66b4e3a27032dd",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-586165-1778675053-094187-config.gz",
+ "size": 793, "last_modified": "2018-01-02T03:04:05.159Z", "etag": "8c186f0677428747dac9f592b463a804",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-690971-1778675305-009169-config.gz",
+ "size": 698, "last_modified": "2018-01-02T03:04:05.005Z", "etag": "44b1b1b98b6fcbbfb304e00b1529f7cf",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-779982-1778674997-551258-config.gz",
+ "size": 2944, "last_modified": "2018-01-02T03:04:05.937Z", "etag": "fbffdb30925aa787f338e14e28b33868",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-936343-1778674982-275775-config.gz",
+ "size": 2481, "last_modified": "2018-01-02T03:04:05.649Z", "etag": "efa889dd5fd7185ed1617c646559b86b",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-944681-1778675145-996597-config.gz",
+ "size": 590, "last_modified": "2018-01-02T03:04:05.490Z", "etag": "92bbcea08ac12cf0f3e5eee980aaa614",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-988431-1778675026-321392-config.gz",
+ "size": 487, "last_modified": "2018-01-02T03:04:05.960Z", "etag": "1523e180a90dea2ba7eefae60195aa7b",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "cloud-logs-test-connection-20260513T120336",
+ "size": 9, "last_modified": "2018-01-02T03:04:05.726Z", "etag": "06aa6fa8bdc2078e7e1bd903e70c8f6a",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}], "next_marker": null, "is_truncated":
+ false}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:29:55 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-006346-1778675096-541384-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-006346-1778675096-541384-config.gz?Signature=4kWT%2FUU9ORlmnh6QBj7OZulciHc%3D&Expires=1778675758&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCghzSOf6zO3BCHH5qTmyC9AIWg84q4Wstg8Vn6czLndundU1GOxHGWbRMKjpHVnbuvdQgHdphQKL/pOMZBEZLssXS/qZ89mOqH%2BD5Q41rxKjLm578aOMrUvSfVgUNk%2BLObwg/WeYEWU21VMOsbK3d9hnt1bA2P0%2B5EsOy50rAtSJJoj0EkfiFcKERcn1oCvF5m31FtL8Gsr1SCpbe3M7Kp0HDEvs03tftf3EFrfLf/WUZJX3p5Rxh%2BSztxRtDNw8nFcpvwoXz64IHy0ugbV3oifA83QDn2BZpvWJKSr5A5A1vNaOa8G6jEQ7/Bhw8mS1uXGVFrE8OJ531XSioAvlUonnmzKLUI3g7jgdczlZkGWKuio9WIUP8dmOA6lzmWNIZOpeWrvWzcrGO1%2BI5I9KqHjCxa%2BVxzbG210xggU8nI7QnOllRgDNjYu/0LfqVdKRmcI8NPBucMZV1bEq35htIsNPt2jO",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:29:58 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-011125-1778675186-265637-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-011125-1778675186-265637-config.gz?Signature=VAOmyT9r3HWZIpxQq7sphL2Kp5E%3D&Expires=1778675764&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCsgEBJuadw8QIcXa1lGq4sSQnaOA6kHp6DoQ7Qg6tkLYcORF%2BLH1%2BCvGqc9blv6erUByETldPEKX1mTITREhTYtPaAgg/nLJVvpPw91C9SVMa9%2BYaZ6ObrDTyB1N9LXLhw1JOiudYgdCr7iqvAl5FPd%2Bbj8f5Blbxz%2BWTnZHAdouPjxxEbzp5K1BkYINWR5Lew7QJhVequiIFfcgs65FzXKaNuMRKiapeIw6kd5/%2BkZMP/nqhHEa62SaWnjGNomttR%2B7za7E6KXUtIsHfInh5raepE1qbgJcOdZ9M%2BfX3j06N9HLCX8fUsYlDsCpzElmt9axGnfonUZ72dBb%2B3NNdQ%2BnY4lNsn/dJqD5/m4F37Vj0xQZLyYkauyM7fm8Xi0615zZeyu0qgKe7mGYvJStSDTE3bYMArLGrWYj1Y%2B%2BZrMnwOUjsJ6QU6rGZ323UGk2WCIGyX7WQSaXr8lwW3NTrPfdB2NV",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:30:04 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-013414-1778675161-799444-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-013414-1778675161-799444-config.gz?Signature=YtbjxVoUBL9zLsYsTQ2uc2O0L%2B8%3D&Expires=1778675768&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCmtpNuSM1nWIJLY5jCR5%2Bd89he6pTpCAMrHcGhI/lQTVIWiG3/u6rUSxH6uykKuTfbkyRxGdcQLrkrftPHPmR2TcdDIUpTJ8Y97in/YZ3gzHs1ZjYO5D5N4%2BVwoDn%2BXlMrxovQrgQhb/MtRk3ocKlHTWHs6zIzGd9g61XEK8fVnMjsQ5R6YV4t1C3TObAleDsEMPfKhXL4MhypdbRYPHJK3Sm7HWz0PSSyfzOHbgLzXJWZPCO59YgFuiJYNzC%2B8A%2BoMX%2BNhoTCDpZKhYhqaf%2BJRHHLvSL3H4y6YtqVvg%2Bsef64LEqSyuayRGOF0nNW%2BUtlXdgckKx1CCn2grMo4VP9B8W7v4A2ilvu8tN5dliYSf%2BF6I4ceSQToS37p3ShWDn7VY2YnYKKQvUs0gCvIvMHricn4D/F1TdbdrsjrngjWiGeFZEGSwgCLaxMIjbOI%2BC5m4kA0UkVw0LNSfrYc87576JNDo",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:30:08 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-035060-1778674930-175074-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-035060-1778674930-175074-config.gz?Signature=Ilfubq1BtJHZhiH148wW3kHDZuU%3D&Expires=1778675773&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCg16p17PteTMJbyNBanNNUPJFLIolPxKWrf1eLWliVDsCy7wLmrTjZyPpIfkriwr2pc31V3up46xqdkykylBDS60Lq3MlPG2HhdQLewnSbjyqfUhZDGZZD%2BONUAsiTUIbX/mPYVRFhQL5w49DYNqkiJFzlbKriZVYVA/3kefM1laC66kKDvQTonHUpQcVuZU7RE5mZhljEhIp2mIO7eUtzE1ht1RuKWbP2wn%2BhtBFQBB/sKTgVx6%2BRUI7zWDt0SZwOocXGMg%2B%2BslAR8anadH2TAG/hbpCQMdWghlMpwewJ2/ONzlUeQqbHk8opNaxWwvjq16QsTlg0XnPK9ocWb0DXT0Y80beZe9%2BS51iDSHQW4ZaECTfkU%2BsZ6X6MdgsqCTbQifPH8BgXcjjuPUIm/HNLeHUe0qwWX8QFTPVsGEecrtplAf%2BzMQwNNy9GheO6Qkm5/2fLSmwdhdYaxW3FfhB0LGcm%2BN",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:30:13 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-105912-1778675004-599304-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-105912-1778675004-599304-config.gz?Signature=K4vgb8go9oz9u%2F5%2BhHHc%2FDTfBA8%3D&Expires=1778675776&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjClG8mBBbeJT975HbGkoo%2B5/QkWYcH4JsUoVDNHckam18kKT169icaLgLTMfRiIMMnhbMVK/1JQCCdePcEu5Czw8Mf3wdq4VKfnO73FVcJNfjPAhwlfGQhg3ScXdiDjNLPUKiwrrtciDbcNCC6nZktjoXCl29NLXcZOsFbHJMnA3xAgO7QJtcJgF8BAs6yN0ZmW8S5%2BJs4G2CZQnuGK3xVBtkPeS%2B52p7yk14m/NV5Ndodjml%2BzT1vJt5MZg32zlMW7keHsDsHH2bQwtXryMTPCdTAnGL0FAVBL2bmon%2BvGTlZ80phpwyusjhAKy6fSTHXkbMoX6e6fRMqHAV/lTnOwsXH9eb/Rp0Gr6V6ADwC4JrjyjMuAyrQRwzm50M02YjcT64d3sCOz5wmW8Jl5C2OKKravOKijrQ5hBxpfSiGiw6f30UhWbhv8y9YEKhoSgtxT92SVBQU1sVQbNrC9aUf8/ebjQs",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:30:17 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-308185-1778675225-115697-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-308185-1778675225-115697-config.gz?Signature=CzgLrJeFojFbAESeHzd70GGJiKE%3D&Expires=1778675780&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjClqIekzr%2BLohpCt0gIo7fMjNiyrxi47PlWknb/6rKqTYe5WINqyHQIhRdEKiyJZXdGvAHdFvcgdGRz3oZMLACZ6LCa3Z28HBVcaU1iXHICoRz5%2BmF6J7uuB7BR/rD5FAMI5xDT0x5RAS0OZT9r7acbjczVTuDUQGmtbE0QdeFVDc2hvMhpB7YwXA8KA8QrTvwIili/%2BwUJvc/5zgvrIjotLjKgWHTogQz/qn2XtU/a%2B0PFhW5B9L0uLrS1o8avx3f%2BDo3xS3SjVqG6lRN6kkUT4yu7JU7JcOQwlq1OgXpFpyDbeW53%2BKkg49XuL04cZXJ778A1rvhQW/XTpbLE1cd50DA7Ue1YW9Ya1ZLOqfjGS9X%2Br9ubtVGD2PmtMHVH4cGqdDWFRC1uJNvKtn5CiDftsww6FbJewWGq25LbWoBmxhq0b7RqDDyczRiw%3D%3D",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:30:20 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-323695-1778675004-816833-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-323695-1778675004-816833-config.gz?Signature=Yr%2By%2BrwRGdMXthROk0M5fFDyOlY%3D&Expires=1778675783&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCiu9dL26tpDAO79X0RnPb23p3MuybTFOXkyJtlm6ZjN01QRtMUlb1htCuzQqslRDtNt/0xQz9nVkNy/9uvpg7%2BBeIbj7LABWExYiZXK5J0gAmrEC77VndD1HWp71NCyt9XV5ERoS38TSi6H5PGXXyWxNNuNbSjIclj7sz4FqoNd7qkYRvI1laQRcK/QRtlypcoQtKfOc9vQ36kp4InTFEeoy3nZPipa4DeaqbN1YoKl5JEpuoJ1nJzuEYzaUxetjnZZe4iFxFzKeuUjxKgdFLrcJWVN/Gze4iEq%2B/hSAtUFL1ZeglqdpirP5eZU3iCFTTGQbDmqxq6r/UD4n9EABofERZaLfD12461pbcCaCK0J6xtxZGp2bC%2BgEn9q15Hb%2B3ZeROIs3HoIsfvNVVIesce0sJ4Mat9q3xMEn3dcvmsFHQPJsoU46LpVH/u/eqBS8tCzEe0aXvHM6%2BRq3Rt7etzN9jgK4",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:30:23 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-419568-1778675235-950783-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-419568-1778675235-950783-config.gz?Signature=D7QJ4W4ZkoW2siaNlcsHbZ50YB4%3D&Expires=1778675788&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCnlW1KSkiKFD7HFEgGZ996Mwr0hus01F16k1XL3AO/H9IhCdMAgHBDj9VWFQvY49Ie/uocgrS%2Bgkm00d8uW8iThoJFyLrS52DuUwBDVoQ7G%2Bw5k/AC0fKKGAdeWjkwA1YEyzyFtftJxQi5AB0PedYW2RjF0baNWj7ga%2Bp2Bjb7oZLcEBGj9r9PbDWRCGoIWWeLbWhA9gOYx2LKWms0dQOrp33Byfe012PmOkVig17L7nbXkns3Oo%2B1mETnwr6oy6huIEI7gj%2BxWuzjIxWdCeDa%2BNM5RUnF9FFva7KBR3NNvdbNcPznTxGxQewCBZJu7b4s/9OBvbLpl/6Wa1wIR3GewzFg6D2E4lwYa9eQs3CzaQ/Dj/rpiJAUhcAtOiqxXQooFgHvgYGE4SFdizg9c0s5F4bfn7MxsyHrH9kw3SUcNplRC92hmNW0ZWEiRUIHOmxpCmxXl%2BP5FJQn0EsHYib7W4Kjln",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:30:28 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-458683-1778675290-737341-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-458683-1778675290-737341-config.gz?Signature=uqMsB3DbYyQcKP9TBlFSztlA5ng%3D&Expires=1778675792&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCthg5VU3luSfPMW964RmsU5bFlDZG2BCN2Ch63H%2BqQt3V1XiHdLvnNgwBCKxuWEg3WnLCthGgWXBRcA39bZKMMwsSVuWoCoyf8XZEGrSm4SmbfXFeQ3YCA%2BvPk0rqJX7WQId%2BulhXJzplFpXibdo3Z%2BvQCfBf4zbqwV0xbxUE77KQ38c7TiJFU14b%2BsdFji78Vap45IqCQX4Z5FuRjMztZLJJ%2BwXxaNRxsOOC%2BVLhK94uEzsWtoReGjGgyvS5kWzM%2BEwuFqPtyWjc//PoFfQlEzunUYDMi1dWh8IJGFvMaSZ4J3HnLSlbIMOSz1v5uelvGGofLvaSX3GuLeDZsMOXyycF/dOr2klkoTwKeDgS6oA7cxIaJUQUNUTiOVm5wtaBjndkDVPlZMD1z7UAfGmubpk1R0v3dKNwdWXukqGCUUEKuJ8TRYmMrwr%2BsdQvbG3zgf/kDWQqo3fytDjFdUm2A%2BQJbRw",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:30:32 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-469065-1778675356-345017-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-469065-1778675356-345017-config.gz?Signature=3Ut1IlJddD4uuw7HoX835nlens0%3D&Expires=1778675795&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCvlvdM6GVyHdBadYbdhDNTJnen%2B/SrS3w4zRfSaGbrzLNFRVDiaBlS/RlygvLTgcm7RlK5R1/p3Ly47LTDhJg3vvXXk8UBh3PYW3UmDx1Gw22jOXf2d5WG0ebc61Duyx65x78MOufbV5j6FpG%2BNIl9tM8EXoKr1Iv5UB2h8vlfmLO2yVEs8KIRxosVRhRG0WgG/jUpbSUglrwRalxPs8Y6/BDR4nADdsxAZU8UHzg3VmfVE00upgcqahPtZmsMiGs1b28oQSSWytP3g6u1%2Bgjsve/N1UOu9FqraeSbZEQebnVY39bcaGe1tFEppP2rRkh0g4uLpj161eMmsXGPJOqCbZkIyraG1gxIjBnxXA4UhiW5voYMTiFSFUDWlJyI%2BPau3e/qQdMgsCjuAuOi3AuO9ZJey2y%2BTZdMIGNVTTh1Yh9uyFeaQZvf%2BfXcN9Kj%2BXFoZ2eiL5eikRCCtYQSD1es0xW9jj",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:30:35 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-474128-1778675068-486979-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-474128-1778675068-486979-config.gz?Signature=DHsnZi3xe694BO4ZbyI41rzrhzA%3D&Expires=1778675799&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjClmAX9%2ByGFkKWJxS81l8K7AP4wD/7O6Cn%2B3xFUeZJVib67FCZFiihvg7Yt/M%2BWb3fGWUEJxqbscVVSgz74pPE32bso/tzgw7QcCyj0iQWdZHcDabuKvQf065Q33D3U8TofO14MtHPQ33Vy8%2BOMiYBwB8e2NRZyMOxV7iOgeIJesZH8or%2BTzr8uFC4jlWVoGMYNhdDcG3rRjfGaEnMkrc3r%2Bz5baBuV7PxP2PFTIherFD9%2B7Z4naQ2p/jzusx2RGTB73AxUubNX5bXXOuwjgN5ttMf1Obu0HUvjHEAbepkdwmW6qMkqobpjXEFkwvQp7yjgF7ZLsZ/U22d08E8G8RwS8H69k6BLcknC0OHrmInCKk/LeYZIS11KikiaQHByiWYuG4W%2Ba/fmpjCKxbKyooj%2BH1UVDt8LMdmfPlpdUm6e3L%2Bmn/uT0DtWkh%2BUk5SpC3en8aX/Bp4/EL7HifwEV3xsOdaZaA",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:30:39 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-479737-1778675193-061392-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-479737-1778675193-061392-config.gz?Signature=0RKRAo960fJP7kVK31WcdnWfc9U%3D&Expires=1778675803&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjChikQlUtAMyHeHoq/O4tzDJnCpONmPLNESDHcDl031z/EpNoXpRdKBj/Xpr9sL1906VR/bVze7kmAxG%2BrvdwXdFEjBe2jE4Fi1qHnskD7lVK0ILUtFSWIRSndiN6JUuIRkw/yJyXgZ2JXIKWl3g9piPhCJWFknAQ5p4%2BfVK3bg7Jh8HlXsfTZTaP2qesBAjpGXBLoxehMtrZTAK9EvFN8daPHvAql9y2poIicFt1Xs3EuGboGWduv4GVN5592UdX5SyRj0y06957OF5LgbjqwRPsSxE4YJmGLYVqYb/D3nnTy5T47ay/7Uv7j7QFT2XLAyKMfT7vQ6FaVA1n0atXsmf1/lZHA5WGRoxLHcryfFtiMEHH%2Bj0UgtvCUSeHzMz%2BD3TzpRgxYQe50gPqw6I9JmlOgHk9H8F8kYbiimp/MGAoD1PbtLZE1giBixtK0bYkt1bkmSl7fQbRsypwF%2BeS8aSlPIUI",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:30:43 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-496065-1778674830-216583-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-496065-1778674830-216583-config.gz?Signature=d9RAQj%2BuVcHeyNCjSh3s4i%2B6DZY%3D&Expires=1778675806&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjClmAX9%2ByGFkKWJxS81l8K7AP4wD/7O6Cn%2B3xFUeZJVib67FCZFiihvg7Yt/M%2BWb3fGWUEJxqbscVVSgz74pPE32bso/tzgw7QcCyj0iQWdZHcDabuKvQf065Q33D3U8TofO14MtHPQ33Vy8%2BOMiYBwB8e2NRZyMOxV7iOgeIJesZH8or%2BTzr8uFC4jlWVoGMYNhdDcG3rRjfGaEnMkrc3r%2Bz5baBuV7PxP2PFTIherFD9%2B7Z4naQ2p/jzusx2RGTB73AxUubNX5bXXOuwjgN5ttMf1Obu0HUvjHEAbepkdwmW6qMkqobpjXEFkwvQp7yjgF7ZLsZ/U22d08E8G8RwS8H69k6BLcknC0OHrmInCKk/LeYZIS11KikiaQHByiWYuG4W%2Ba/fmpjCKxbKyooj%2BH1UVDt8LMdmfPlpdUm6e3L%2Bmn/uT0DtWkh%2BUk5SpC3en8aX/Bp4/EL7HifwEV3xsOdaZaA",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:30:46 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-508251-1778674750-124460-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-508251-1778674750-124460-config.gz?Signature=jmlQGWir3gP%2BGj87b60ZbBRsLDk%3D&Expires=1778675810&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCmFwLIDk1002t1JzytrAAqh3NH7Ya/5BXsbthrYfLx0hzx1Hvp1i9wzUDJnVpXNrshDabfWW1oqUwd1Ku7Ynoh00uJmGFKgIxGo7RqzlE38DPa4xDcjGku1QSx3W/kEzOhzI470g874SJB7/5d0l02p5g5rBoBxwLMQe0lmhiQ6EWo%2BvgNTXLdCiM30X4QQPDkgP%2BXSj8u4DoMo7qAx5wIUyPxunRygoqmYZjP/CFr%2BptKGnO%2BDD9aoeeAVwbox52byrjgeRA/Pr53ISnAvIZ1N44GGcJiNZ7GV277Sw49ZFwxm0q8Ybs9GTMsSwtNpqaWbNyXRuke9aKOraumE1rH/auQlunAY3omLXPwKD3TB7bCEVdRyahD/oyb66CmFEqAUGejs2gHrqiqqC7aWPHGWTNbYyvwUPrerrJAfbFlZ0Izf2mz%2BwaIkjasiFjwLlHEJUHDn9Kqt0kgLvYB9bk1oICHid",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:30:50 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-586165-1778675053-094187-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-586165-1778675053-094187-config.gz?Signature=wj8h2mHjni3TIecQxUBQHSislNQ%3D&Expires=1778675813&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCr4TAkua6lvtDa350ElSAhSLZb3gHbKPP3E5oK/FKUlRRFuLFGe1gTBRfpwnS7bV4VbZ7SS3QOjcYP4eprU8Wb4u7osrWoNJd1/wEWHkmdSgt6oCsrMuDYk67MXNpng3hnbkVcyoYiu6NP/p5DeSaKewQ4fL7zKnRpsMNNS/jc6kmnXvEW3lhlZ3i3aP2wM/Vnut3TIWOoWRd3Cu8mc/DlXfoM1a%2Bs7ZfvZ07vFucZmozkwlwHJ4KUvUQ/FeElSYMtIpidQEvYL9HUbjdmR22gSBcDi96NxDNh8Mjiv6CuOdBDoSejxwuVyLItRfpqXybSopjXmN0Hi%2BduUtia8YEGad6om9Llv9YEodz9WFufG%2BG68hpQALtqK2s8Tmm1DkZTaa8ldbzNiRoham2Ho0drNZa1GvEkcUv6Xs0OgW%2BKVrr1eqDTiR3KRQXyjuGUu94k8O597XQjE1J2/p4ZhD1QpvK7Mh",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:30:54 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-690971-1778675305-009169-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-690971-1778675305-009169-config.gz?Signature=AcgEUwruifXFHYka5FBlYXLJVhQ%3D&Expires=1778675817&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCkcFVG1OtYRJvThxBqjlOhNTXRoPtz59c8uThmbq/JdBAsogiCpjYbAT/625Thha/D7SjpXC226rhW4HwJdxtnEI1EhYGjH5GS64ybb%2BbH9/o8%2B4ENCbZfPki8VHGCsyY/N78HMz9FFLIlno1eZ%2Bp4%2BCyBlBYR5rfi4Ze8cx1kkmG%2BNgxAv1VqldWU61NYWeWp3yH57pyMQVy3kWrQ3QeeVZvQsgnILEPGzfiSc26yYXy1WIcXUOpvS5kgMSO%2B7DqS6TkCKyONQ6kv5QpjOKzI8MLTLgRKa07eUhdEgiLh32OrdLtx8lF4p9poeaMMG7VCsVu20NzkDXIL3EZOdx2QODExvhYnr3ncQf5%2BPx9pM/%2Bjxk8dHke5M2%2BlRF66bjilxza15EqB7WVvMfLHIDbm/Z7VlTwiSn9jIksdsKD8sppDP4/99LgfKld2KmQSPHSvJGCNh1RMgzQj3KtwmtFewl9Fg0",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:30:57 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-779982-1778674997-551258-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-779982-1778674997-551258-config.gz?Signature=8sIKOfjUW7x1G9r5Wvd6IlJbD70%3D&Expires=1778675820&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCsaaRinoeMCEE5APouOWjPurkpj8m2Pw4w9VkPaTlkNKr5DlP7ePxlsGicHrSBDsOlMWOhHxFfEGzjgq8U7kfSfnF8Fz8WKZlgrfkBrVYkIW0ka342BQgjqJUklhLhievlOMaKs65m2WgwbznH06Of9OxJlNHQpI7iXLsyCreO/Gi4lONdakQAzEoiMbmDmc4aOXOFqzxwXvsdaxsCSwWnIA5oVMvp6BT1GGw6K8ymfDtpi18DZsd4VLUjD4blHGKkNFALtW0WCpQCwRBIungHzd/MIMMugAu4UkCQk70sEDekrVUYhzkQAcNBQp7Z023/vhTf6g1h66wawavDbNVC15NufyWSiUCh%2B0kLJuZ9FIDcJP48c/j/YlbE6k5ONeDUoPyrNhAnj46hpzIzZQCO2vH9NnF0C1Ahoy23agzqvg70NWrsVr7hNT8f%2BurXF2IXNAm%2BKiPUrTSwCUcHcmDghGpXSF",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:31:00 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-936343-1778674982-275775-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-936343-1778674982-275775-config.gz?Signature=bkvxiMhKxAEXFcOBngathwBJ7cE%3D&Expires=1778675822&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjClmAX9%2ByGFkKWJxS81l8K7AP4wD/7O6Cn%2B3xFUeZJVib67FCZFiihvg7Yt/M%2BWb3fGWUEJxqbscVVSgz74pPE32bso/tzgw7QcCyj0iQWdZHcDabuKvQf065Q33D3U8TofO14MtHPQ33Vy8%2BOMiYBwB8e2NRZyMOxV7iOgeIJesZH8or%2BTzr8uFC4jlWVoGMYNhdDcG3rRjfGaEnMkrc3r%2Bz5baBuV7PxP2PFTIherFD9%2B7Z4naQ2p/jzusx2RGTB73AxUubNX5bXXOuwjgN5ttMf1Obu0HUvjHEAbepkdwmW6qMkqobpjXEFkwvQp7yjgF7ZLsZ/U22d08E8G8RwS8H69k6BLcknC0OHrmInCKk/LeYZIS11KikiaQHByiWYuG4W%2Ba/fmpjCKxbKyooj%2BH1UVDt8LMdmfPlpdUm6e3L%2Bmn/uT0DtWkh%2BUk5SpC3en8aX/Bp4/EL7HifwEV3xsOdaZaA",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:31:02 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-944681-1778675145-996597-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-944681-1778675145-996597-config.gz?Signature=4ieD7o9jPjAZ%2BzdQPOd3HAeP2LM%3D&Expires=1778675826&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCmFwLIDk1002t1JzytrAAqh3NH7Ya/5BXsbthrYfLx0hzx1Hvp1i9wzUDJnVpXNrshDabfWW1oqUwd1Ku7Ynoh00uJmGFKgIxGo7RqzlE38DPa4xDcjGku1QSx3W/kEzOhzI470g874SJB7/5d0l02p5g5rBoBxwLMQe0lmhiQ6EWo%2BvgNTXLdCiM30X4QQPDkgP%2BXSj8u4DoMo7qAx5wIUyPxunRygoqmYZjP/CFr%2BptKGnO%2BDD9aoeeAVwbox52byrjgeRA/Pr53ISnAvIZ1N44GGcJiNZ7GV277Sw49ZFwxm0q8Ybs9GTMsSwtNpqaWbNyXRuke9aKOraumE1rH/auQlunAY3omLXPwKD3TB7bCEVdRyahD/oyb66CmFEqAUGejs2gHrqiqqC7aWPHGWTNbYyvwUPrerrJAfbFlZ0Izf2mz%2BwaIkjasiFjwLlHEJUHDn9Kqt0kgLvYB9bk1oICHid",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:31:06 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-988431-1778675026-321392-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-988431-1778675026-321392-config.gz?Signature=cVGBk68KawRFUyI8fv%2FvavJqzAI%3D&Expires=1778675831&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCuSIg2D80v4%2BoPAI1wEh3f0iNUKnVvEDH/CbTJsEMI1cIveLQAaRpXE76sbMBWVQMLMt9H9KNdkXaQSVKbe2heZuu2iT1kWnzn2Lzezd5rNyBf%2B0TkBm/IKKt0mkWpUzNdtbcafzOTIMBbyw1QbHHdxq2kJxmoQC0ReQ8VDrNproKisZZcC7Cn7GlLwQlznzl%2BnnkBaZTGsXKtwifR4I4NtDl0tCri8Ts7VY7gbk7nt%2BsFIWWgJW4NImGS1a1GnpWFOgtoaSflCps2A53q01JtE1AotVkCHZn6B7/Yfn%2BjXdPGHnG8ZZuEtygYKWxlQDZ/4GH9biHxrH26zuEaQ8T5flKcEQEwBOIvCBRAyF3jVVRdETEnxL1WMv52AQlFwjlIqtRH8fnXRM5eKqrqwbRd3JR/RJYda2HbKILCfCKBsNSgCUnDVciMARQy6lOlTIYJf%2Bt05z9qsHUg2kdIb35cn0Ozxo",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:31:11 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"cloud-logs-test-connection-20260513T120336","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778673809872719000/cloud-logs-test-connection-20260513T120336?Signature=wuueYrkqltxZWucY5VcxlSWwzNE%3D&Expires=1778675845&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCjCoSs3JGLRiwrTpof9haQWTHW%2BzoLs8pJAhOdFBzruo30lzVvbtClwxzu2fFCLcc32ek/b15VR8XEne3x99dG10dQVyllxVO4vqVire07rWwiXmBrTIvYQUnnE7ue8w66Em5CAwMlvEnyp6kyob8NA9a3udm5pHPVXkuAOrUbV2DFOHMZWPibYPRCWtVdqW8Yww1EozBJ/rfouKzQTJ4t22q8Rcz765xkZO0KUjK77VIzRIu7zc6feuLDVT%2BcQu8x7kYAVPM5VQaHLsLDJWsJaH2xWiPMCoMAYKmnAIa%2BIZ9X3Ii6BsIqZ3qAKr4Ni1lQwV6%2BfgQf3ipCCbdlTB9mBeGzjTyzW/LXyd%2BowVWDlSmSgJS9iuhjjB5i64K4KikoVjhd/dKwQuz43SO6jpnJiL%2Bdk3LounZRZyA1EGALEmb3SRbkYbxyir7p/TV%2BXIVspP2hjlrJJZciWJopABml3XNp82",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "848"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:31:25 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778673809872719000
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 12:31:31 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestLogStream_Update_Destinations.yaml b/test/integration/fixtures/TestLogStream_Update_Destinations.yaml
new file mode 100644
index 000000000..f4db97d1f
--- /dev/null
+++ b/test/integration/fixtures/TestLogStream_Update_Destinations.yaml
@@ -0,0 +1,2663 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 16:16:10 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","label":"go-test-logs-monitoring-1778688970264733000","acl":"private","cors_enabled":false}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets
+ method: POST
+ response:
+ body: '{"hostname": "go-test-logs-monitoring-1778688970264733000.gb-lon-1.linodeobjects.com",
+ "label": "go-test-logs-monitoring-1778688970264733000", "created": "2018-01-02T03:04:05",
+ "region": "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "304"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 16:16:15 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778688975091870000","regions":["gb-lon"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys
+ method: POST
+ response:
+ body: '{"id": 3689156, "label": "go-test-logs-monitoring-1778688975091870000",
+ "access_key": "[SANITIZED]", "secret_key": "[SANITIZED]", "limited": false,
+ "bucket_access": null, "regions": [{"id": "gb-lon", "s3_endpoint": "gb-lon-1.linodeobjects.com",
+ "endpoint_type": "E3"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "307"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 16:16:17 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778688977716854000","type":"akamai_object_storage","details":{"access_key_id":"[SANITIZED]","access_key_secret":"[SANITIZED]","bucket_name":"go-test-logs-monitoring-1778688970264733000","host":"go-test-logs-monitoring-1778688970264733000.gb-lon-1.linodeobjects.com"}}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations
+ method: POST
+ response:
+ body: '{"id": 511, "label": "go-test-logs-monitoring-1778688977716854000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778688970264733000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778688970264733000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 16:16:18 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams?page=1
+ method: GET
+ response:
+ body: '{"pages": 0, "page": 1, "results": 0, "data": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "49"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 16:16:19 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"destinations":[511],"label":"go-test-log-stream-1778688979331199000","type":"audit_logs"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams
+ method: POST
+ response:
+ body: '{"id": 232, "label": "go-test-log-stream-1778688979331199000", "type":
+ "audit_logs", "destinations": [{"id": 511, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778688977716854000", "details": {"host":
+ "go-test-logs-monitoring-1778688970264733000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778688970264733000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "provisioning", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "589"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 16:16:19 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","label":"go-test-logs-monitoring-1778688979750096000","acl":"private","cors_enabled":false}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets
+ method: POST
+ response:
+ body: '{"hostname": "go-test-logs-monitoring-1778688979750096000.gb-lon-1.linodeobjects.com",
+ "label": "go-test-logs-monitoring-1778688979750096000", "created": "2018-01-02T03:04:05",
+ "region": "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "304"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 16:16:24 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778688984872576000","regions":["gb-lon"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys
+ method: POST
+ response:
+ body: '{"id": 3689157, "label": "go-test-logs-monitoring-1778688984872576000",
+ "access_key": "[SANITIZED]", "secret_key": "[SANITIZED]", "limited": false,
+ "bucket_access": null, "regions": [{"id": "gb-lon", "s3_endpoint": "gb-lon-1.linodeobjects.com",
+ "endpoint_type": "E3"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "307"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 16:16:27 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778688987162176000","type":"akamai_object_storage","details":{"access_key_id":"[SANITIZED]","access_key_secret":"[SANITIZED]","bucket_name":"go-test-logs-monitoring-1778688979750096000","host":"go-test-logs-monitoring-1778688979750096000.gb-lon-1.linodeobjects.com"}}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations
+ method: POST
+ response:
+ body: '{"id": 512, "label": "go-test-logs-monitoring-1778688987162176000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778688979750096000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778688979750096000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 16:16:28 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/232
+ method: GET
+ response:
+ body: '{"id": 232, "label": "go-test-log-stream-1778688979331199000", "type":
+ "audit_logs", "destinations": [{"id": 511, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778688977716854000", "details": {"host":
+ "go-test-logs-monitoring-1778688970264733000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778688970264733000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "583"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:33:35 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"destinations":[512]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/232
+ method: PUT
+ response:
+ body: '{"id": 232, "label": "go-test-log-stream-1778688979331199000", "type":
+ "audit_logs", "destinations": [{"id": 512, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778688987162176000", "details": {"host":
+ "go-test-logs-monitoring-1778688979750096000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778688979750096000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 2, "status": "provisioning", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "589"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:33:36 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/232/history?page=1
+ method: GET
+ response:
+ body: '{"pages": 1, "page": 1, "results": 2, "data": [{"id": 232, "label": "go-test-log-stream-1778688979331199000",
+ "type": "audit_logs", "destinations": [{"id": 512, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778688987162176000", "details": {"host":
+ "go-test-logs-monitoring-1778688979750096000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778688979750096000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 2, "status": "provisioning", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}, {"id": 232, "label": "go-test-log-stream-1778688979331199000",
+ "type": "audit_logs", "destinations": [{"id": 511, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778688977716854000", "details": {"host":
+ "go-test-logs-monitoring-1778688970264733000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778688970264733000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "inactive", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:33:36 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"destinations":[511]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/232
+ method: PUT
+ response:
+ body: '{"errors": [{"reason": "Unable to edit Stream at this time"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Content-Length:
+ - "62"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:33:37 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 400 Bad Request
+ code: 400
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/512
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Unable to delete Destination attached to active
+ or inactive Stream"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "94"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:33:38 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 400 Bad Request
+ code: 400
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys/3689157
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:33:39 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688979750096000/object-list
+ method: GET
+ response:
+ body: '{"data": [{"name": "cloud-logs-test-connection-20260513T161627", "size":
+ 9, "last_modified": "2018-01-02T03:04:05.057Z", "etag": "06aa6fa8bdc2078e7e1bd903e70c8f6a",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}], "next_marker": null, "is_truncated":
+ false}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "259"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:33:41 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"cloud-logs-test-connection-20260513T161627","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688979750096000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778688979750096000/cloud-logs-test-connection-20260513T161627?Signature=4YKRQprPJXeK2SKfY0x%2Fsrxahnc%3D&Expires=1778693985&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCtCDzi3tBOnjUamqC7w3Pza%2BPIyJhhaEKuz9HNQonOe/Jl6I2oppn6JAsH9FiwnU2iJfvJIkl0mOdfGUwENb/HUZ5r4hLMp23eU7Pv9ZgAlxKnCeVjuXxTz6uRGXNoOomJF1TxnvySWDPV4OCZdd7kbC9GVN5zVNcdRKKY7jAmkeys/ex/CNvLSO%2BdZC6%2BeDgFfs4RNQK2E4hY1uVycCKgRe0Yip08%2Bo9mzp7DFdBY3nJydjBBnpgESW3TdFvqkw0w7LoR0HY4uzwz09LqDBseuzW/slCsFiN9O9Y9MxKjW%2Bpc62as/5WaxHT6BM/rf0tg7sfka6QlliuRRrqhBRc33bkvlCb9jMr2GlkTANVE2DaaJL%2Bh0r2DBk/vyINLIg2iYTs3R5dp9UINVxiYu7FfsC11lQSsTVeLTKENiIcwOs18RyWfP3vkxnaj8/Pk5WEWy11WTZs5/APEiUvc48odaQDDPG",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "848"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:33:45 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688979750096000
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:33:52 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/232
+ method: GET
+ response:
+ body: '{"id": 232, "label": "go-test-log-stream-1778688979331199000", "type":
+ "audit_logs", "destinations": [{"id": 512, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778688987162176000", "details": {"host":
+ "go-test-logs-monitoring-1778688979750096000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778688979750096000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 2, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "583"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:03 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/232
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:03 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/232
+ method: GET
+ response:
+ body: '{"errors": [{"reason": "Stream not found"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "44"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:04 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 404 Not Found
+ code: 404
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/511
+ method: GET
+ response:
+ body: '{"id": 511, "label": "go-test-logs-monitoring-1778688977716854000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778688970264733000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778688970264733000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:04 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/511
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:05 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys/3689156
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:05 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688970264733000/object-list
+ method: GET
+ response:
+ body: '{"data": [{"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-197232-1778692104-963329-config.gz",
+ "size": 577, "last_modified": "2018-01-02T03:04:05.056Z", "etag": "a44785bed3c7b2e75d62804be8108a22",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-277313-1778694046-575915-config.gz",
+ "size": 578, "last_modified": "2018-01-02T03:04:05.660Z", "etag": "56ba7525966e92834cddfb6aefad9fa3",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-303195-1778693738-480474-config.gz",
+ "size": 532, "last_modified": "2018-01-02T03:04:05.660Z", "etag": "25098f968f638fe4a7c1b4e5558b4c38",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-352028-1778693698-253569-config.gz",
+ "size": 832, "last_modified": "2018-01-02T03:04:05.327Z", "etag": "dd3121684ffca053831d97dec1c13b59",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-513793-1778692719-730202-config.gz",
+ "size": 577, "last_modified": "2018-01-02T03:04:05.474Z", "etag": "2fdfb7e0c981969e086b0af5502ee36c",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-607448-1778693767-814677-config.gz",
+ "size": 592, "last_modified": "2018-01-02T03:04:05.434Z", "etag": "eb71f008d852aea5290b2a006f6edaa6",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-680392-1778693730-123553-config.gz",
+ "size": 576, "last_modified": "2018-01-02T03:04:05.946Z", "etag": "9dbebbf20eda966839445d9742a38939",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-739067-1778693034-305706-config.gz",
+ "size": 577, "last_modified": "2018-01-02T03:04:05.115Z", "etag": "c15b56ea18897939f99035e5eabb7419",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-964874-1778693710-665883-config.gz",
+ "size": 637, "last_modified": "2018-01-02T03:04:05.266Z", "etag": "2043e5c87058d9145e8b408d48af231b",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-981397-1778691751-017085-config.gz",
+ "size": 576, "last_modified": "2018-01-02T03:04:05.980Z", "etag": "5d79d311fd1eea26b88bd4c5ba381948",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "cloud-logs-test-connection-20260513T161618",
+ "size": 9, "last_modified": "2018-01-02T03:04:05.646Z", "etag": "06aa6fa8bdc2078e7e1bd903e70c8f6a",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}], "next_marker": null, "is_truncated":
+ false}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:07 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-197232-1778692104-963329-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688970264733000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778688970264733000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-197232-1778692104-963329-config.gz?Signature=Qn%2BHVMRq6TkN%2F256D6XUcjD7qRo%3D&Expires=1778695391&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjClfCECUIIFwLiGZjW5RYWX5qRXLptUr79bCCZgjIa9dlyQnlT0wONMcZLvYuUKkxNn/8eWj30fTzxVZl/0R%2B2DgQNgdn09xEMI61eHgOgQ1T%2BV78iBsh2ZDaD%2BvqRjEVbCe7P63WpOqH/Xl1og8bqGd%2Bf4cuv9Xu2QtSCA3yhHGN80Z3QSWfn%2BJiKZQCSxoItPbvzmJzZPUiRHExTlztFiFhCbWIPk/zLDgSqJMzKXwEoAIfEKum8CP3AhSL3Z/uBUb7P2XuosqGNbAh10JWYkruIfQZj4guRWOl%2Bti14Mc%2Bsw0jVRtsT0VEoopmxfbt14l3/mL3Q2tPIuaALg9qATW4FJMl6Ppm8GLXIo2FmEXhd%2BxJeu2272gMxtGZgVFAWkIdF2vI0UgKIIK16%2BvUgGckDUqs/%2BS6YtZRmtMaNKyabSdGtwPu2RMNrtRLE%2B/kAbjTIGZsESHD4ThLt5myzUEK9yWU",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:11 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-277313-1778694046-575915-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688970264733000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778688970264733000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-277313-1778694046-575915-config.gz?Signature=Vnqhsl0M%2FcJOxd16KmxSSvdGGS8%3D&Expires=1778695396&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCjxEznWT7WSpNYRY7bnNEWV1e1OUXUbgHbnFa6PIDNjWjXjCoRiINtIwxzr1vVXuFDgUEXLPJ1FVTTfD6/s7ZeDg7HFB4kNd2MBH18rE4Zbj/KjQZC88i0546YWIVgqGUsCsV1Adkk/qBYQIp%2BYrHeeoqj0y4KT2ewKkCPOxFw2UPO90bb6M7wvth6y25LMBCr0xE8bjXP44O%2BaJPdjvvAvf513pxuL0%2BhizUGh67Cqt8ArbBrWMFEJ6/4/lqemIGNdbXP9H2TQbBjmNsnFFiQMYLOC2G/AUbed1EBLiTx57SSDrXoSICFdxBwpPEz/Zz8O38%2BqowTSVlHE31QLDFN3/0F2fgnd31LL2JCyZ1HfdIc7EiGLHQPLeQZl2qqUrGj7%2BwM/h9ViU%2BKGTJphQe2ikaYRUpJHsNDIf330we0IoBbO1EX%2BcQ%2BA8gkmGaB595YjYyjsO0l9qseZ4HCfXB0qRSBmf",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:16 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-303195-1778693738-480474-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688970264733000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778688970264733000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-303195-1778693738-480474-config.gz?Signature=n%2FT%2B5J9lmkg2OAcr%2Fhup5vhoYqg%3D&Expires=1778695400&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCqMYxD2UgzjR7nvq27tbVk/niE6CInE2HfoPKYhAK2dEHTZTd4YptMrKoXwDMuZ3j7Hht2pUW7ie6W1f%2BpS9oteDzPD/WMODWsYdD6GQIo0Xkk3khZKR55Yiobiydq/MtAbCldpUvLtqPoith2B2ESSiSkJD2WiTzW3TCGGXS0LDBP/VpzhOp6RttfSU3jM9xPqSmbmqoNMEWNcgfKuNb9K8oGxfSdtH26tTV0OvTB5xn2WlvR2LdDQuOomq6pQWQW%2Bj6VK3KSPjEL5zJhWl5Ob75l%2B7nqRDb67BuyummsPYFt2dEsDsgZW913c0d15W9JLt1xlAfuula7kE1QSFYTS3gCqmUthpa8bmYDkR5DInYxUSqEWyq8AGuUqk4EO408KIJ5eZpZvODoR24yJ%2BULbaY/nuZl2CO8ufFWefabNI83VGYmzibNOmnrPQQvpptZvrdd8q3yAmQH7vi6Bat39y1dLk",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:20 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-352028-1778693698-253569-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688970264733000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778688970264733000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-352028-1778693698-253569-config.gz?Signature=N4nhMK669l8%2Bro%2Bket4BzWXAQwg%3D&Expires=1778695406&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjClkBHNMxU%2BTXtj9a2GMSrH1cXrctnGxm/L9NQo9LafhWgaLYTQ9BLhjeXhzTPyDPkjMZCfZ/wFGS9ApL/XWus4M9cwjMAWXZqTLCvFCiy9y527XBfYYLuZdlyeROFzuPmvLTu7VU7NJ7RSX5OnNwUpRAAoWQEZsvrCrQ/ajbSrP6jLCrsOYjKp%2BD778BihAlJmoxmYS9O8wvpcfpraB5vFy0n4tQKpn5mkUeC9UmWAPXwngrxZb/YmrbaLHGORbb7HVMnbHAKWk3Ym%2BPQ3Dzd%2B%2Be%2By4F3M9PD0z6x%2BFPAxKPPsRKNAJaecxPqC8%2BxlKSW78zf2Aj08bPlvIuabazllUozSdlQw5aPbvpIRFdo2mEmVhGUl/m%2BH1AHLhblBesOtHgAUnOLuN7sLjWRq4AlY//M/%2BZfTGlO5/2sHb/nzk%2BrZJ8NBbx1ez63BpOJ78AfPtomm0YCXu0740/M1o1p%2BzNAOIf",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:26 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-513793-1778692719-730202-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688970264733000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778688970264733000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-513793-1778692719-730202-config.gz?Signature=LebMAHKdRUgj2p7hRP81HbK49QA%3D&Expires=1778695409&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCsaqOqFO3D1jZzSwgUDPQKqGQFCKMT1OfHQhYI0N%2BuN6jPnQ8YDjXqYDq59LPnbOPnGIci4bXcfnL%2BLmxKZvUgYVQw53rFZFvev/KD4BrVQiO1hzflmnY8SUyApihLIvlKT32qc3ATQG7hEZeLU7HfjPhtRPVWsb2Lv4J%2B7cwmGl4kjWnZ04eMGtrKfaIOpqV0f9vIKHJ0FWnqSbvCPv7porLJ%2BS91WYW/mDmYbZB4dZSaSrc5TmxV5pq/4Mn6FqG73XuAzVbrxzgkaIovTLlij0MmsxnSlCvDKYlDykY8xZqNTrXGBr0lWxfPriV1Bie/Z3rQvRF9cXWT2FKoD4LP4Bth8U5PHaGsWyEbEVAGcXesEPnib%2BZlkAcQpvs3rOQ4RhPqdOZk54AC9Gl5bf8Cim/RIIgrkdQk%2B2VP8UsgVOXbxhOKmro7ssjNTdZCsCYR4LwHq9wFkOlFb2Ueab1JfeTmIs",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:29 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-607448-1778693767-814677-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688970264733000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778688970264733000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-607448-1778693767-814677-config.gz?Signature=STcracQDKGA4j7oZhqb7GmhbhzU%3D&Expires=1778695412&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjClfCECUIIFwLiGZjW5RYWX5qRXLptUr79bCCZgjIa9dlyQnlT0wONMcZLvYuUKkxNn/8eWj30fTzxVZl/0R%2B2DgQNgdn09xEMI61eHgOgQ1T%2BV78iBsh2ZDaD%2BvqRjEVbCe7P63WpOqH/Xl1og8bqGd%2Bf4cuv9Xu2QtSCA3yhHGN80Z3QSWfn%2BJiKZQCSxoItPbvzmJzZPUiRHExTlztFiFhCbWIPk/zLDgSqJMzKXwEoAIfEKum8CP3AhSL3Z/uBUb7P2XuosqGNbAh10JWYkruIfQZj4guRWOl%2Bti14Mc%2Bsw0jVRtsT0VEoopmxfbt14l3/mL3Q2tPIuaALg9qATW4FJMl6Ppm8GLXIo2FmEXhd%2BxJeu2272gMxtGZgVFAWkIdF2vI0UgKIIK16%2BvUgGckDUqs/%2BS6YtZRmtMaNKyabSdGtwPu2RMNrtRLE%2B/kAbjTIGZsESHD4ThLt5myzUEK9yWU",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:32 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-680392-1778693730-123553-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688970264733000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778688970264733000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-680392-1778693730-123553-config.gz?Signature=a6JbiXq6lFkY%2FXDWEbUznGETmY4%3D&Expires=1778695416&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCtFwVNlA6s8kFYh1sitdd1Xo6ODBlOMfjsobo3WnnNRnOEzzo/dQsNjWv41vj8hQC19JPJ2gh/qnoJjHCkBTjnwsSD%2B9eQ/ZS8D3zWsGDYSlXsas7wqZjhnCycoWVEluvOPabau%2BWRXeBfRzRzFQaA9XCWv5DB%2B1iZhyFigIs0jxZTVG6m33ByB0X9YnqR7T9NhwEMtCnJbpaHkXb%2BZj17baeRqWXQu10mTDwJv1zM93eAWAlSO1pSRpNLbKM8HqtXwOIjbBKgy/ul7p1Z8U5uCG6iBkqo2iHwGz9ZoTgcEG/87JpQHDlW/Fj1a8xwAppIu%2B8Dq/xIeraZbwSI%2BX8dv9fLAWoJXk2qVG8EeqsKaEiyWWK8mQWpl9fkC9Pp%2Bo%2BF3tHg8gAjo1eubJmTTue5ByA%2BLGl%2BBQF4T9Ge7xdcgw25Q3maMmEMU33liPoowDOSrVzenWDZdI8TsDYMgi8XTiouLu",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:36 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-739067-1778693034-305706-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688970264733000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778688970264733000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-739067-1778693034-305706-config.gz?Signature=1HPlh06EYXbcvGR6Af5Q7b6EIZc%3D&Expires=1778695420&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCvrPdx%2BIamB8Wg95PdJQJs0rXOtIIoL5N8W/u1k6b%2B%2Bxpf7QSKfjWasIzSOZQZ0AS0cZYTx%2BFWmEV54Nb%2BAq2Ds4mhfL2HRfNA%2B9GTJN4p4cgyK3siHzZFlKHQZ1InR4shORM/fxE6vThCSKqs5tTpMEJ7JkK86DnnP3SKVv1fwzV2xijAs91JjdwVhKhciMdTLEfBArhmRHaqVJgQ12BhSOr2uM5uUHSgGvmkYfT6y2QrkmCFIic74D3nsCsy/vd1VmvUrt2NCoVBCJnVw4ATrpf42rjnm7pu8LftUk8AN3F1JRQXamNe1gNsiNAT3SysXQes/TLo1ATVj%2B5BSGdKxclAmhT7au1j0KLIsIBSvc4id/fMGFOSrzpTTWGKqGFd6Kk6vBcZR%2BkmvUFRQezGscrNTkkJ/LDxRdn6xJYXnZx%2BOeTs5gQWweuFHoexTX4jEXpyzwqJFfOAuETgs8Sd1PM%2Boo",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:40 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-964874-1778693710-665883-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688970264733000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778688970264733000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-964874-1778693710-665883-config.gz?Signature=ZxRyVIRL4ev1k23cyGiWdsCejUY%3D&Expires=1778695425&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCoAwJvL9PoJHVgOHPVpPl7igunQRhHT1%2B6wFnUB9sAJqE1ulZmHlXPWjIHsD5EWYR8eDUXBQnZG3oG%2BzGa1dJSFpW4dSEOKrubcpDJ6gn2%2B4lxIgEHPqaHR6t%2BclHQV/U/uWmLor%2BdfWJbWYrljomHWA3D6ZlYPPKqN5ftDhxdVdG5K3TAhDX2MGxK56wTfXK0fHdieMa7baWA1bctu1rrdedsGc7vjp0dZkbX58Pi24dF1EW8labDUOaGgI24s5RGWrWycnr0zNTZTk1XmCu6wvDGR75o4GtCrz866B0IrFORwdd8UVNl1XtQIK%2B8IeEwi8rfG4BTIG7sOZnQQsnarp/8aZewHXyb423nTpfW4RAvcVtt0uIthpw97p6ezB8PE1KO74Vm4lsU73/lNpTdRwmZwdMuwN76uIScl1CZbUfL7Vw7jKvSA%2BnF3pseSe8R6Zzi%2BSE5XI58eFAf3i1/HG/n7P",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:45 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-981397-1778691751-017085-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688970264733000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778688970264733000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-981397-1778691751-017085-config.gz?Signature=1JakPPrY1PuA75iturHInb5r1PM%3D&Expires=1778695429&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCt81X7xsitezQnrNPAVjoGx/bZ1xR1psbH1cKZTUW3AyovtQe22AtvZPY7LS3xlOJDtcWGsCyxqAfoOhSaGV71kosJmxXY0L1eVLKDPQNFiZjkZhL2mqSEeXL7zL2PJ/QS3S87%2B31THEH7She9DJZrq88IX54PQYVU60pgtHxRHf5duI0mQqmFkM3bgmi5ZsbvALirnJ0jxju/DKCrTd0BU5dUzT6Xx6Jgk9j/jRR6sqAhlmBm1VnUiXQmV9Lq9BLhlngpLE%2BiPobwiJ%2B4h3qNoEGTTcqcE5bISDvAziY2q5lZtEhD1rzBU%2B3B3hensQvewD9y2GOf/jacX1wNrivGl51Kb6XvffYfpVazZ7E6OhO9EbvdNHZIteaxqDdG6NnZJKCVxLliUAkf2NfDT22QSch2BF7dfQmDMl7YpI24oC%2Bx9RzJyQm4HVq6K/%2Bk5wJqBXzLsxnKlAXAPfVehlQblYyoPZ",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:49 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"cloud-logs-test-connection-20260513T161618","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688970264733000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778688970264733000/cloud-logs-test-connection-20260513T161618?Signature=5LHIWYJGLOg0z%2FACtsvb9G5nRr0%3D&Expires=1778695433&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCnA9fRCR5yZQKSz7ZgIKSECjZUbb4JGEdR4Ux%2B%2BExLuwXRZvEP8kwifxhfnzPpD04VAJvbyBSJE6OF6uF9jAs7pSCh5XuKANx1KtCvzVnxK//VhdqceMDnAeluZhtxlTxzPuSH3CxX8voqyhLk8BpIuVT42GaC4zdJ6egTyDnnfafHcIw4ItcLV1q3IVIx2GshFy0HpySNtp28BzCIy53wed85o9/oyMiNq8V19FI8TP1/WBivVwRfKqc/yL5kuC0pcpHkCWibPW9x4S0QPrm1sk74IqZ/WCR8VrmFyz5oXREQNk2YrZ/zpoMDvFZ8tpsuMAoKXYBPGQd12JP%2BVObHhULL5B9Ifwg4ib86qoCuIhvyEgYhCdHaLeQF86kmaC8ad3yKF7V%2Bm%2B5A8EEeF1jo7YHoBo3xJQT0YUKHr6DuZ6tN%2BxkOOT/HWmjh0MFidtzlbLqiX9G%2BJdP1t0/psp7boyqzUw",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "850"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:53 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778688970264733000
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 17:57:59 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestLogStream_Update_LabelAndStatus.yaml b/test/integration/fixtures/TestLogStream_Update_LabelAndStatus.yaml
new file mode 100644
index 000000000..9f1b85872
--- /dev/null
+++ b/test/integration/fixtures/TestLogStream_Update_LabelAndStatus.yaml
@@ -0,0 +1,1999 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:04:38 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","label":"go-test-logs-monitoring-1778681078927883000","acl":"private","cors_enabled":false}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets
+ method: POST
+ response:
+ body: '{"hostname": "go-test-logs-monitoring-1778681078927883000.gb-lon-1.linodeobjects.com",
+ "label": "go-test-logs-monitoring-1778681078927883000", "created": "2018-01-02T03:04:05",
+ "region": "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "304"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:04:44 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778681084555589000","regions":["gb-lon"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys
+ method: POST
+ response:
+ body: '{"id": 3688480, "label": "go-test-logs-monitoring-1778681084555589000",
+ "access_key": "[SANITIZED]", "secret_key": "[SANITIZED]", "limited": false,
+ "bucket_access": null, "regions": [{"id": "gb-lon", "s3_endpoint": "gb-lon-1.linodeobjects.com",
+ "endpoint_type": "E3"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "307"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:04:46 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778681086944581000","type":"akamai_object_storage","details":{"access_key_id":"[SANITIZED]","access_key_secret":"[SANITIZED]","bucket_name":"go-test-logs-monitoring-1778681078927883000","host":"go-test-logs-monitoring-1778681078927883000.gb-lon-1.linodeobjects.com"}}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations
+ method: POST
+ response:
+ body: '{"id": 507, "label": "go-test-logs-monitoring-1778681086944581000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778681078927883000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778681078927883000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:04:48 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams?page=1
+ method: GET
+ response:
+ body: '{"pages": 0, "page": 1, "results": 0, "data": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "49"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:04:48 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"destinations":[507],"label":"go-test-log-stream-1778681088449928000","type":"audit_logs"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams
+ method: POST
+ response:
+ body: '{"id": 230, "label": "go-test-log-stream-1778681088449928000", "type":
+ "audit_logs", "destinations": [{"id": 507, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778681086944581000", "details": {"host":
+ "go-test-logs-monitoring-1778681078927883000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778681078927883000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "provisioning", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "589"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:04:48 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/230
+ method: GET
+ response:
+ body: '{"id": 230, "label": "go-test-log-stream-1778681088449928000", "type":
+ "audit_logs", "destinations": [{"id": 507, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778681086944581000", "details": {"host":
+ "go-test-logs-monitoring-1778681078927883000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778681078927883000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "583"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:30:59 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-log-stream-1778681088449928000-upd","status":"inactive"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/230
+ method: PUT
+ response:
+ body: '{"id": 230, "label": "go-test-log-stream-1778681088449928000-upd", "type":
+ "audit_logs", "destinations": [{"id": 507, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778681086944581000", "details": {"host":
+ "go-test-logs-monitoring-1778681078927883000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778681078927883000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 2, "status": "deactivating", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "593"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:31:00 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/230/history?page=1
+ method: GET
+ response:
+ body: '{"pages": 1, "page": 1, "results": 2, "data": [{"id": 230, "label": "go-test-log-stream-1778681088449928000-upd",
+ "type": "audit_logs", "destinations": [{"id": 507, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778681086944581000", "details": {"host":
+ "go-test-logs-monitoring-1778681078927883000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778681078927883000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 2, "status": "deactivating", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}, {"id": 230, "label": "go-test-log-stream-1778681088449928000",
+ "type": "audit_logs", "destinations": [{"id": 507, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778681086944581000", "details": {"host":
+ "go-test-logs-monitoring-1778681078927883000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778681078927883000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 1, "status": "inactive", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:31:01 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/230
+ method: GET
+ response:
+ body: '{"id": 230, "label": "go-test-log-stream-1778681088449928000-upd", "type":
+ "audit_logs", "destinations": [{"id": 507, "type": "akamai_object_storage",
+ "label": "go-test-logs-monitoring-1778681086944581000", "details": {"host":
+ "go-test-logs-monitoring-1778681078927883000.gb-lon-1.linodeobjects.com", "bucket_name":
+ "go-test-logs-monitoring-1778681078927883000", "access_key_id": "[SANITIZED]"}}],
+ "details": null, "version": 2, "status": "inactive", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "589"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:11 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/230
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:11 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/230
+ method: GET
+ response:
+ body: '{"errors": [{"reason": "Stream not found"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "44"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:12 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 404 Not Found
+ code: 404
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/507
+ method: GET
+ response:
+ body: '{"id": 507, "label": "go-test-logs-monitoring-1778681086944581000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778681078927883000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778681078927883000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:12 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/507
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:12 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys/3688480
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:13 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778681078927883000/object-list
+ method: GET
+ response:
+ body: '{"data": [{"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-084477-1778682693-177692-config.gz",
+ "size": 550, "last_modified": "2018-01-02T03:04:05.977Z", "etag": "75b70d9439951d6dba708ff7e6f00952",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-218707-1778682738-592559-config.gz",
+ "size": 576, "last_modified": "2018-01-02T03:04:05.372Z", "etag": "cc32bb39a05cc8f2d7ea9c85d4f36e08",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-329795-1778682477-740896-config.gz",
+ "size": 564, "last_modified": "2018-01-02T03:04:05.278Z", "etag": "c7f747d07b0ea6d972688ce49144417a",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-631906-1778683721-838153-config.gz",
+ "size": 576, "last_modified": "2018-01-02T03:04:05.237Z", "etag": "3f5fc21fc4b10fc8b4b68692289378fc",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-700945-1778682890-236423-config.gz",
+ "size": 696, "last_modified": "2018-01-02T03:04:05.977Z", "etag": "013bc8d941321cbb5827826b6ded860b",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-741231-1778683042-602434-config.gz",
+ "size": 576, "last_modified": "2018-01-02T03:04:05.955Z", "etag": "50147c77e5d47d880d4b186f6ab601fe",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-918300-1778682846-915838-config.gz",
+ "size": 824, "last_modified": "2018-01-02T03:04:05.674Z", "etag": "d6f7a0f78aec551ce846e09ff792e4b6",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-942758-1778682484-712642-config.gz",
+ "size": 487, "last_modified": "2018-01-02T03:04:05.058Z", "etag": "f4b0430033b7f7033adbf1b56f71e909",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "cloud-logs-test-connection-20260513T140447",
+ "size": 9, "last_modified": "2018-01-02T03:04:05.823Z", "etag": "06aa6fa8bdc2078e7e1bd903e70c8f6a",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}], "next_marker": null, "is_truncated":
+ false}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:15 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-084477-1778682693-177692-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778681078927883000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778681078927883000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-084477-1778682693-177692-config.gz?Signature=%2FDCdtSrX%2FESw8Etla9HFNBe08tA%3D&Expires=1778684480&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCt8PyKa8o3HbPWXUxGHwspZ9aKJ92IVjph8iyuiqMj5dSU5MxFkTY89qyGfnC2buF1IJe1v4bxJ5OsuisLhqXXESnk70GxpCF1I%2Br5lUpyYC7h7e3QUE4NURVa6Z1MJh%2Bldrhh2cSdiLgY4POb6P%2BrFTmflPrBquseRGpr%2BL18f1HVh3MswyXAlXb9N/oDpX8PZkko5R9PT1I/R4Xx0ueMAhAtu74gs0qo4DExgbU0Pc9W4hGKJTgyvHKqASDna1eCulbh14Ap3tKogJfX1yGTOGZIKoJUTB7BchjIYlkdLMDBTgVSiOaCTHbpZA3bPst6oIwUA37TbkbJpftkiPpvrVpvbArxNzA%2B94Aqk9KPSs0KIPE/bwjSpXxavEJVDrHJOJgCmvqha%2BNihl1/tVrTPT1ghdaujRZSVSnmQkJ2UnznlIGAHX9NBI8tqmJVfx%2BRPUd7tuhTGXw8FyWd/mpZtHX95E",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:20 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-218707-1778682738-592559-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778681078927883000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778681078927883000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-218707-1778682738-592559-config.gz?Signature=rBk5DerMNIeKfOEEI9hzRAnZKD8%3D&Expires=1778684484&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCjebhnva58jyEjo5cvasP%2B8MGHVL/prHHXOLPw2CIXBR2qoC0TpCpesMgUsKUAH7tkNPI3Grr6l1ZXi3CMiCCRkTjfxEHpSMRsda9AFpzWmOnCYccONAeRqD%2Bxm%2BItNa2cctDgW0mcMJ5vwHJl9YGCd6uspqRnnIDtCDTXjyZDrA3fJVpLfd8I2znU8DtrpUUgOiixwFRw%2BxoEut8IgN1d10sGiRpDRvKbSPswu7MvoH%2B1pH8qbgFzGdj4MWGSoAsKrUi22ihzqLMdsOAhc%2BxLGWTYbqp0t2UvvdrTTQmfYrawknRwnnUpVQstysgw3Zd/AxIQgD6ltKYGG37yx5gAhxgykYXkCnRbjJlC4UtUKRQ0LNhBKOfUq5INpetygmxXpZRiaUzyGH3FXqMzwX/BvvEJG6CEkQTG8LB9nVfqDrdGfcOzJPSASztFWWpq3XqFPPwZN9S0VsmjJublNY/oYKxrYw",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:24 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-329795-1778682477-740896-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778681078927883000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778681078927883000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-329795-1778682477-740896-config.gz?Signature=HbTF2aNiNm64iZVxTYcSSUu7WHw%3D&Expires=1778684488&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCkeNCcUrpRpzh0fHv1jWKWOKeBYbBln9M%2BTTqfJ/hBQ8MsJHJ8uANnws1MVolgsRuq8VfFq5iDgXkJDtMvlZTTlbXSVbVAZfrPQsZEjbY3qa2qI6WYbGE5HotWebblMMQWRcix4OEc0t%2B3C5Z3wvOgbhXoLuE28UklGiflxY7qW3t%2BouVMw6sl%2Bv75Bmjha7wartaOjY8gcXDLWNpIqP61W/awA5DSTWbqZUGHMs8CP%2BmH5ORpq2uwE6WkOuSr6APs/nrmk9AMdAWdZZYCEMUw2psoVWd2FxqX1F0dAlUsid6bRrloUoB%2B8t%2BOjG7V9StwBwWFuJp8AzYJdXPdTYzgJxQXiQWpcqwUKIfZmK0O9rjouZj4DN3EvoNpWm552oSkzTOex5k3nhy2GGkKsf6oYyMmCEkyj9iotDisBPFOifkQyuR%2Bjx0sjHqmct15SdLPK9K1r0p7Z%2BDBQFtRQjBQuYF5x1",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:28 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-631906-1778683721-838153-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778681078927883000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778681078927883000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-631906-1778683721-838153-config.gz?Signature=ko9JAgqtmvJ%2FaaZcNy%2BdB6icy9o%3D&Expires=1778684492&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCpCr1dC74I9N5EELwPgUkibLqa35d71Q8/7Y3E%2BN7XMyZRGlDxhh7fJN0goI3Tikwl1fVs/VcslloD63SS16rI/N2TEcrfpaisYtxNaTs6Hfrh4kqOevQRCW6iBvG4H8gsIvEuGOmkF%2BHPddJQkqTVLaqpxHFzhUZuLgwevwIpAKognkKV493APbsCl9huQvDLwX1WP/nSnMCZjPQt4hzVi0fHVLZ9zJwSa0wOITVcOHADcWqbzLm63/SEBKgReRxOxs0IWCapzGU1BcrIUPmN1i%2BteXfMfIR5NwVHV/B6blUl3t8sHtrAHzfICTq3FtzbTv20INdRX7%2BjXQ4OTsKG2rQv7cRCCM93erdaO14huMLGZacZGawFybpzfMpQsv1/6BrSM1txJCzbN4jTSzgd1Rfp2FFIgyibUUz0M9/83siFsW5z%2B2o4ld7fRHQrpvLVezwyOj58543/ciAASe9k7dpKzv",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:32 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-700945-1778682890-236423-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778681078927883000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778681078927883000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-700945-1778682890-236423-config.gz?Signature=rKqpX2CoDNXCNa%2FI68XZEf1oggw%3D&Expires=1778684497&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCuEkJwK%2BOyXiVwftf13I%2BRcs1ptH2h2KxGjtckEIBPxIXllOvyIiLtFZ0yNeNtzdKVN83iD02y%2ByyUNIgebV6CAofESJbl2ySKQzMvJEonqTXF/aeSoMIrgk/%2B0UpHH2v1wtTtS676IIwLU5tBJMWRFEhQmeXlAJT6usWv4effRBzjg6cJ7ez2DklkwIOIMK/N9Rxqq5ohoQyDzIpOZcCFAOwmxP0FbkheN6YkQp9Yers08RH4Z6UrJQDvIVdHTjJva/Objbj7o9rzPEyld0PxeOZ4alRnO5qVY0WStAH06lCDFObWI/JtykUNwK%2B6F%2BbP8Kmy3OOJ/f04dq0hPrlOsiVXbpSOs1hGmTya5ifud0inzor9nr0V9yfS6ovVE%2BapqK5xOsVye79PEYNsQO9oe55wLsEPf4hsF/j02HbK/X8vN5Zx%2BpKsG9MStxeaArBQatPczwf0fsEA%2BGH9JsLo/sVk8d",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:37 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-741231-1778683042-602434-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778681078927883000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778681078927883000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-741231-1778683042-602434-config.gz?Signature=OpWeayfnlOkPSNnrqmHViLfhoaM%3D&Expires=1778684501&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCrDCGwkEleEni0xHt/857u44%2BEQD6OfpEnN%2B9bxyNdMpo8a7iOUsKwCeMXza3TzK7hhN0QGoFTIwU9tvUfG7qT18N718ij2EI5fhUi8NBiTPioU8N6lu1V1khRRK3p4kPNtR14ONZCY8/at2sbO0tbIDPRsqx5L7lda0d%2BaZAj3m4tTU1L4ueerReiN%2BXuuciPe/x52U/4es9ckyXWOzP5ykbfcHL6DKNkaPCRmc5LUeSLtFKqADKdwBd0GHtdQIvytR0Q8ALB2pwxv2OkFaRR4Qzq7StImi74sLM9R2nUs4mYz/BJzqdhbqWN6izyH8hsi57Lxfnn/LsUz9dfgaAUPWe/xO9FMmoLHN5DDeMin8WXzWxNKI/MoyxrRCz2vgh%2BjG1DHWIomKet1v5H2PhgB7B1SztO0hgCu8t3DWlSXT7ooqdF8WNdG2FqPAK4n453dI7ec13j8Un/uPqrZ8jwzioM3P",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:41 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-918300-1778682846-915838-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778681078927883000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778681078927883000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-918300-1778682846-915838-config.gz?Signature=7nWLoH%2BuYI0mnCp2jeDnfDZIrSg%3D&Expires=1778684506&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCtaKn5GMIEfLmMu6pzmFQ6m9uNJVoqIJ5Kc0kPL9MuVM4A8G/zfXCJkdwZRu7vZnQ7Nl9EF1PFOjBCsrR%2B2Uls0xB67OOIMGu1H47s1q8CSmvo79Sm42y%2BG9fzdBBZzYZGGJT3ukkSa12m/R4LGc4Ll6DjSh3Wyc59juhf72w0N%2BpZXBdOnWExbEd1Eft5kJrGkcEKU7wrfPKNYQ7CbbGNAjvsdTCDi586d2oFq8gkvV49DdUZxhd98k59icr7GzTi0AQzn8IjGTR6oFgNr2uiYbwNbusifn9Jxmy1dvirbkuF52pYgcB4pNPvnNwlpfwaFqCyTKE5xdP7P9DOTNAE3rJUSfHUbIU23KI4rdkWQoLrtMDZpE27ix0REH6PYREoi0%2B8a7gFPc8zulUyJYOubsmVaCKlGlu6hv%2BiSmhipRj7VP5RlE2g5R77b6i6IBMJ387Ygh/0ki6RKm0vcfKyKEjZvF",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:46 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-942758-1778682484-712642-config.gz","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778681078927883000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778681078927883000/audit_logs/com.akamai.audit/BED02C05-67D6-4FAA-BC8BB63BB77C1197/2026/05/13/akamai_log-942758-1778682484-712642-config.gz?Signature=uuzJqb7fiqtaoCDWZ1q70SKcDpA%3D&Expires=1778684510&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCqlq5E4LMv446iYK2UpCLmbdmLFSgav7BPBdfmVOfUe2VXRj6VqkyYYfUNkB5O/Ed5ipR9QGIeKDZsX/BxoFHJBXKHB9P18A2UXieVctUHdgSgKzJrNH1Kt4mYCQgwFcWvc2nzx1A6fNtkZwKAZ1CT3nKnMm5wH9dNohIU8oIGHWO6U6u3jKZLFBNxy24aA2/8m5wWGcybU9ztNGwxkCJNwMxA9U/mAbEz9eMAuVWLQQhRS2BiM%2BNK2B6B1ev05vFnD/4pNmdz5jCJNQwOeE2Z8RVFHrhwCNtQn6W%2BsNOdQBLBy8dxEatzwT/ZFjpXhYQyXwItdY1PezjXphM1gV7cHH/u0DbfwRzDkasFJpHDKsO00lUbgnPEbwVpZz7lfL5UyvcNN9I8HHSORkSb%2BeSqDNJj%2BQFTyxm9ypRW1UmT5TTfHfGjmFz89uRHCXdDwTukyvsfgwWWbzIJsklcK0/vWUyZGV",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:50 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"cloud-logs-test-connection-20260513T140447","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778681078927883000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778681078927883000/cloud-logs-test-connection-20260513T140447?Signature=Qd9UxjXaE%2F6XoR3qd7X6miBEUCE%3D&Expires=1778684513&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCjOAnJLAcK%2BhItpDw7kOx%2Bgn9B8ACATJE29PXWS3h7GRkvM7Ur8fvdFb/LoR0lrJJltp6/nmQTd%2BoOk00hPrXWxhr58a90mLSgrcp2S9S6SJnj4/A%2BeW65qXM0HSr7wk1rXOGUUFyGW4VjqVp0d0oQqEhgRCCSpwMnPNxeMYFJlqq9Nvjn1vi2lLTJTfOWQIYw6EJqYCI6FW%2BCGqIzbblP%2BDtc9UQMALmjcTqIZkSl/I7D4lS0OSGK9P0x9oE1EhVfSSvswGXEfZz658QRSHo5wQPoM%2B2q/%2B5CBY9MNaHPDrsaZynhEdsKap3Y3aoMlUsjtWTiAUeTWWQS3Resl6/QG2sZVQ3MX429m/ajx3sta%2BW3feh%2BBcpebIXS1NmpjXa6xaDyH5PW7qE7WB8mfRqVyAUcVi4v3dlfJ3Bgk4KmFZL1cNGdLI%2Ba1PG8p7Ct00iUeoJFrMK2ZGZohAq6tGtb7MJyd4",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "858"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:53 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778681078927883000
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 14:55:59 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestLogsDestination_Create_InvalidSecret.yaml b/test/integration/fixtures/TestLogsDestination_Create_InvalidSecret.yaml
new file mode 100644
index 000000000..d3f233a39
--- /dev/null
+++ b/test/integration/fixtures/TestLogsDestination_Create_InvalidSecret.yaml
@@ -0,0 +1,761 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:04:47 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","label":"go-test-logs-monitoring-1778670288010993000","acl":"private","cors_enabled":false}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets
+ method: POST
+ response:
+ body: '{"hostname": "go-test-logs-monitoring-1778670288010993000.gb-lon-1.linodeobjects.com",
+ "label": "go-test-logs-monitoring-1778670288010993000", "created": "2018-01-02T03:04:05",
+ "region": "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "304"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:04:53 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670293846199000","regions":["gb-lon"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys
+ method: POST
+ response:
+ body: '{"id": 3687663, "label": "go-test-logs-monitoring-1778670293846199000",
+ "access_key": "[SANITIZED]", "secret_key": "[SANITIZED]", "limited": false,
+ "bucket_access": null, "regions": [{"id": "gb-lon", "s3_endpoint": "gb-lon-1.linodeobjects.com",
+ "endpoint_type": "E3"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "307"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:04:56 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670296316148000","type":"akamai_object_storage","details":{"access_key_id":"[SANITIZED]","access_key_secret":"[SANITIZED]","bucket_name":"go-test-logs-monitoring-1778670288010993000","host":"go-test-logs-monitoring-1778670288010993000.gb-lon-1.linodeobjects.com"}}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations
+ method: POST
+ response:
+ body: '{"errors": [{"reason": "An error occurred"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Content-Length:
+ - "45"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:04:57 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 400 Bad Request
+ code: 400
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys/3687663
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:04:58 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670288010993000/object-list
+ method: GET
+ response:
+ body: '{"data": [], "next_marker": null, "is_truncated": false}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "56"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:05:00 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670288010993000
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:05:06 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestLogsDestination_Create_InvalidType.yaml b/test/integration/fixtures/TestLogsDestination_Create_InvalidType.yaml
new file mode 100644
index 000000000..8d9e09998
--- /dev/null
+++ b/test/integration/fixtures/TestLogsDestination_Create_InvalidType.yaml
@@ -0,0 +1,762 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:06:10 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","label":"go-test-logs-monitoring-1778670370354155000","acl":"private","cors_enabled":false}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets
+ method: POST
+ response:
+ body: '{"hostname": "go-test-logs-monitoring-1778670370354155000.gb-lon-1.linodeobjects.com",
+ "label": "go-test-logs-monitoring-1778670370354155000", "created": "2018-01-02T03:04:05",
+ "region": "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "304"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:06:16 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670376882432000","regions":["gb-lon"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys
+ method: POST
+ response:
+ body: '{"id": 3687666, "label": "go-test-logs-monitoring-1778670376882432000",
+ "access_key": "[SANITIZED]", "secret_key": "[SANITIZED]", "limited": false,
+ "bucket_access": null, "regions": [{"id": "gb-lon", "s3_endpoint": "gb-lon-1.linodeobjects.com",
+ "endpoint_type": "E3"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "307"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:06:18 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670378917091000","type":"invalid_type","details":{"access_key_id":"[SANITIZED]","access_key_secret":"[SANITIZED]","bucket_name":"go-test-logs-monitoring-1778670370354155000","host":"go-test-logs-monitoring-1778670370354155000.gb-lon-1.linodeobjects.com"}}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations
+ method: POST
+ response:
+ body: '{"errors": [{"reason": "Must be one of akamai_object_storage, custom_https",
+ "field": "type"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Content-Length:
+ - "95"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:06:19 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 400 Bad Request
+ code: 400
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys/3687666
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:06:19 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670370354155000/object-list
+ method: GET
+ response:
+ body: '{"data": [], "next_marker": null, "is_truncated": false}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "56"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:06:22 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670370354155000
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:06:29 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestLogsDestination_Delete.yaml b/test/integration/fixtures/TestLogsDestination_Delete.yaml
new file mode 100644
index 000000000..047f8fc09
--- /dev/null
+++ b/test/integration/fixtures/TestLogsDestination_Delete.yaml
@@ -0,0 +1,1007 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:10:26 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","label":"go-test-logs-monitoring-1778670626316299000","acl":"private","cors_enabled":false}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets
+ method: POST
+ response:
+ body: '{"hostname": "go-test-logs-monitoring-1778670626316299000.gb-lon-1.linodeobjects.com",
+ "label": "go-test-logs-monitoring-1778670626316299000", "created": "2018-01-02T03:04:05",
+ "region": "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "304"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:10:32 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670632418571000","regions":["gb-lon"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys
+ method: POST
+ response:
+ body: '{"id": 3687687, "label": "go-test-logs-monitoring-1778670632418571000",
+ "access_key": "[SANITIZED]", "secret_key": "[SANITIZED]", "limited": false,
+ "bucket_access": null, "regions": [{"id": "gb-lon", "s3_endpoint": "gb-lon-1.linodeobjects.com",
+ "endpoint_type": "E3"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "307"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:10:35 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670635056408000","type":"akamai_object_storage","details":{"access_key_id":"[SANITIZED]","access_key_secret":"[SANITIZED]","bucket_name":"go-test-logs-monitoring-1778670626316299000","host":"go-test-logs-monitoring-1778670626316299000.gb-lon-1.linodeobjects.com"}}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations
+ method: POST
+ response:
+ body: '{"id": 498, "label": "go-test-logs-monitoring-1778670635056408000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778670626316299000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778670626316299000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:10:36 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/498
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:10:36 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/498
+ method: GET
+ response:
+ body: '{"errors": [{"reason": "Destination not found"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "49"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:10:37 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 404 Not Found
+ code: 404
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/498
+ method: GET
+ response:
+ body: '{"errors": [{"reason": "Destination not found"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "49"
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:10:37 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 404 Not Found
+ code: 404
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys/3687687
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:10:38 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670626316299000/object-list
+ method: GET
+ response:
+ body: '{"data": [{"name": "cloud-logs-test-connection-20260513T111035", "size":
+ 9, "last_modified": "2018-01-02T03:04:05.955Z", "etag": "06aa6fa8bdc2078e7e1bd903e70c8f6a",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}], "next_marker": null, "is_truncated":
+ false}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "259"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:10:40 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"cloud-logs-test-connection-20260513T111035","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670626316299000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778670626316299000/cloud-logs-test-connection-20260513T111035?Signature=f0iuz6Xy%2FwcEg7Gf6cf0Lr6NEoY%3D&Expires=1778671002&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCjd24ZerlG8jrR0Moq5F2k/PxFaNAbrqBCZlqrEOgdu3lH/UdNelcN6b2r/0fy3a3NiGGiqa71koVbuLsGm%2BYDzkqvvPFmqxmD%2BY7qOCgOkfe7h5dY4z3ls9m6NaIWxGRRmsVf43sNSgPE6AYVNMrgbikyXZOciVV0e6S0Mt3D8OgBIcdZCT274kXSuEz/JK%2BCA33bQjo2QnUabTZsS11wg/P6%2BoumMVFYNeaDibfahd5aQ/AfFaFEhBllBWVhhIG89HOfafcU7tGFXtArOrnkK2gZULC6Dpv8ui5o2xgqfSpQxnEpqHpV/wcmbqGcjqEVKmnlSNAi6DRloNoz8LW2i41F2BsZ45JE/DeAZXBWnHurIjmcZ1olFgHw/%2BSX95c1iNP3oFCqRLTs07Xw577Ck5Sge863E1fPBtQ71wXg6YjqZ42SWVxpK/BJHDAoV46V3qAf7wt1r6WgYbnsa4eTt7QkSh",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "846"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:10:43 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670626316299000
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:10:50 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestLogsDestination_Get.yaml b/test/integration/fixtures/TestLogsDestination_Get.yaml
new file mode 100644
index 000000000..d59c3532f
--- /dev/null
+++ b/test/integration/fixtures/TestLogsDestination_Get.yaml
@@ -0,0 +1,1041 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:08:58 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","label":"go-test-logs-monitoring-1778670538785774000","acl":"private","cors_enabled":false}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets
+ method: POST
+ response:
+ body: '{"hostname": "go-test-logs-monitoring-1778670538785774000.gb-lon-1.linodeobjects.com",
+ "label": "go-test-logs-monitoring-1778670538785774000", "created": "2018-01-02T03:04:05",
+ "region": "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "304"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:09:04 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670544604863000","regions":["gb-lon"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys
+ method: POST
+ response:
+ body: '{"id": 3687682, "label": "go-test-logs-monitoring-1778670544604863000",
+ "access_key": "[SANITIZED]", "secret_key": "[SANITIZED]", "limited": false,
+ "bucket_access": null, "regions": [{"id": "gb-lon", "s3_endpoint": "gb-lon-1.linodeobjects.com",
+ "endpoint_type": "E3"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "307"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:09:06 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670547006934000","type":"akamai_object_storage","details":{"access_key_id":"[SANITIZED]","access_key_secret":"[SANITIZED]","bucket_name":"go-test-logs-monitoring-1778670538785774000","host":"go-test-logs-monitoring-1778670538785774000.gb-lon-1.linodeobjects.com"}}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations
+ method: POST
+ response:
+ body: '{"id": 497, "label": "go-test-logs-monitoring-1778670547006934000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778670538785774000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778670538785774000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:09:08 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/497
+ method: GET
+ response:
+ body: '{"id": 497, "label": "go-test-logs-monitoring-1778670547006934000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778670538785774000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778670538785774000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:09:08 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/497
+ method: GET
+ response:
+ body: '{"id": 497, "label": "go-test-logs-monitoring-1778670547006934000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778670538785774000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778670538785774000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:09:09 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/497
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:09:09 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys/3687682
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:09:10 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670538785774000/object-list
+ method: GET
+ response:
+ body: '{"data": [{"name": "cloud-logs-test-connection-20260513T110907", "size":
+ 9, "last_modified": "2018-01-02T03:04:05.867Z", "etag": "06aa6fa8bdc2078e7e1bd903e70c8f6a",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}], "next_marker": null, "is_truncated":
+ false}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "259"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:09:12 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"cloud-logs-test-connection-20260513T110907","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670538785774000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778670538785774000/cloud-logs-test-connection-20260513T110907?Signature=KAdjlY22W062rFV%2F6Ii4zf3jbO8%3D&Expires=1778670916&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCseKiIAScOzYqhJiGMXUlqxpo38SCx5XDfgvTJnMSzFWH4Qcc8OaqmBrkErqHDyyYsJrw9IMUI0qgwNtsEGVjUesdPE2gl1qf/slBAB8gJSLrRxFnf5NZ9Cuebdx8TUWRc6D5aYkLjQPqMlZMW5axIeJPfD23RUcZgNY4vusbnVCsmOd6Hf0vFGTl0sOUuXqewsJq1WRt5JcJbmb5bkg0RHIjNuB0%2BG6nNk/YJ4WyIY2MpC61o%2BI3aYy3gaqwYnINs6C94F6S5LNTdtiQTMt%2BJq9BUtqa8TYtWasY6Wij/vhHc9ralRjpaMrXtNtIpDUNkZUI8ZCSPotvoFa2ik8/6mcKwXNBjavTjj9V0NNTevpsXZ8NXlSjzmFdyGrds/0K94P47xD6a7qvPe7NEC5bBjZ6qjWaWEIpuDjCwVU55hhI%2BbhWtq2hQuZuzdNFYO7oX5%2BK%2BN2e%2BKUIKuvyRyU0Mxcsky/",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "850"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:09:16 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670538785774000
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:09:23 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestLogsDestination_List.yaml b/test/integration/fixtures/TestLogsDestination_List.yaml
new file mode 100644
index 000000000..30d0d7462
--- /dev/null
+++ b/test/integration/fixtures/TestLogsDestination_List.yaml
@@ -0,0 +1,1045 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:07:31 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","label":"go-test-logs-monitoring-1778670451577295000","acl":"private","cors_enabled":false}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets
+ method: POST
+ response:
+ body: '{"hostname": "go-test-logs-monitoring-1778670451577295000.gb-lon-1.linodeobjects.com",
+ "label": "go-test-logs-monitoring-1778670451577295000", "created": "2018-01-02T03:04:05",
+ "region": "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "304"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:07:36 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670456257984000","regions":["gb-lon"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys
+ method: POST
+ response:
+ body: '{"id": 3687676, "label": "go-test-logs-monitoring-1778670456257984000",
+ "access_key": "[SANITIZED]", "secret_key": "[SANITIZED]", "limited": false,
+ "bucket_access": null, "regions": [{"id": "gb-lon", "s3_endpoint": "gb-lon-1.linodeobjects.com",
+ "endpoint_type": "E3"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "307"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:07:38 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670458443149000","type":"akamai_object_storage","details":{"access_key_id":"[SANITIZED]","access_key_secret":"[SANITIZED]","bucket_name":"go-test-logs-monitoring-1778670451577295000","host":"go-test-logs-monitoring-1778670451577295000.gb-lon-1.linodeobjects.com"}}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations
+ method: POST
+ response:
+ body: '{"id": 496, "label": "go-test-logs-monitoring-1778670458443149000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778670451577295000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778670451577295000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:07:39 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations?page=1
+ method: GET
+ response:
+ body: '{"pages": 1, "page": 1, "results": 2, "data": [{"id": 445, "label": "test-logs-destination-755957659",
+ "type": "akamai_object_storage", "details": {"host": "us-mia-1.linodeobjects.com",
+ "bucket_name": "test-logs-bucket-755957659", "path": "test-path", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-pskupien",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-pskupien", "updated":
+ "2018-01-02T03:04:05"}, {"id": 496, "label": "go-test-logs-monitoring-1778670458443149000",
+ "type": "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778670451577295000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778670451577295000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:07:40 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/496
+ method: GET
+ response:
+ body: '{"id": 496, "label": "go-test-logs-monitoring-1778670458443149000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778670451577295000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778670451577295000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:07:40 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/496
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:07:40 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys/3687676
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:07:41 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670451577295000/object-list
+ method: GET
+ response:
+ body: '{"data": [{"name": "cloud-logs-test-connection-20260513T110738", "size":
+ 9, "last_modified": "2018-01-02T03:04:05.307Z", "etag": "06aa6fa8bdc2078e7e1bd903e70c8f6a",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}], "next_marker": null, "is_truncated":
+ false}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "259"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:07:43 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"cloud-logs-test-connection-20260513T110738","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670451577295000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778670451577295000/cloud-logs-test-connection-20260513T110738?Signature=aEQO%2BlmRNTxRkZhiYGxOnXFVS9E%3D&Expires=1778670827&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCkyUkPQA2n1iLEAkEdbdaSn0pYvzg9EAYlMwZIAYU%2BWUSfE28PIVlbsLHTFBoycKvXV%2BLhFzdFJbVUbzQpI1yMly7Zb8BhK9QALzEebzay9SgAjVvXlB0uASGCDDSkVI6mgD76IeTNixNpM2Bnp8ZFxEsx4f0bHs3ssXyqPSwGa/rs78dGCGmbK4BHRcW/GjUlCEkHxOyERKXu1db5cZ6rlcp%2BD1z4pcBOoZwKw1helMurHcp5dI1lJZqeRtGtf1p9WO9p3cy1BEGdNCe3NLAmkcPUflAsAGFcpgMgk6z3MGNWAq79SH0GoT8QexJ7kyVDnJS7%2Bh5Ewgy/brpId%2BbBVmcfrwxhpCvOzUabkLUaGIwA4paK/HD7eaDY6BIlEDpkV9iwTYX29cXZ8jkRN5EkEck1lWWOSzpgrPWcuELo8CpYdPF6DVlcHb58wk42bln/c6jO1l6J/ppBzzX4%2BIsN/QbhFV",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "848"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:07:47 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670451577295000
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:07:55 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestLogsDestination_UpdateAndHistory.yaml b/test/integration/fixtures/TestLogsDestination_UpdateAndHistory.yaml
new file mode 100644
index 000000000..566571069
--- /dev/null
+++ b/test/integration/fixtures/TestLogsDestination_UpdateAndHistory.yaml
@@ -0,0 +1,1238 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs
+ Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
+ "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:11:51 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","label":"go-test-logs-monitoring-1778670711233974000","acl":"private","cors_enabled":false}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets
+ method: POST
+ response:
+ body: '{"hostname": "go-test-logs-monitoring-1778670711233974000.gb-lon-1.linodeobjects.com",
+ "label": "go-test-logs-monitoring-1778670711233974000", "created": "2018-01-02T03:04:05",
+ "region": "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "304"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:11:57 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670717242233000","regions":["gb-lon"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys
+ method: POST
+ response:
+ body: '{"id": 3687690, "label": "go-test-logs-monitoring-1778670717242233000",
+ "access_key": "[SANITIZED]", "secret_key": "[SANITIZED]", "limited": false,
+ "bucket_access": null, "regions": [{"id": "gb-lon", "s3_endpoint": "gb-lon-1.linodeobjects.com",
+ "endpoint_type": "E3"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "307"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:11:59 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670719429722000","type":"akamai_object_storage","details":{"access_key_id":"[SANITIZED]","access_key_secret":"[SANITIZED]","bucket_name":"go-test-logs-monitoring-1778670711233974000","host":"go-test-logs-monitoring-1778670711233974000.gb-lon-1.linodeobjects.com"}}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations
+ method: POST
+ response:
+ body: '{"id": 499, "label": "go-test-logs-monitoring-1778670719429722000", "type":
+ "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778670711233974000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778670711233974000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "active", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "462"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:12:00 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-logs-monitoring-1778670719429722000-upd","details":{"access_key_id":"[SANITIZED]","access_key_secret":"[SANITIZED]","bucket_name":"go-test-logs-monitoring-1778670711233974000","host":"go-test-logs-monitoring-1778670711233974000.gb-lon-1.linodeobjects.com","path":"updated/logs/path/"}}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/499
+ method: PUT
+ response:
+ body: '{"id": 499, "label": "go-test-logs-monitoring-1778670719429722000-upd",
+ "type": "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778670711233974000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778670711233974000", "path": "updated/logs/path/",
+ "access_key_id": "[SANITIZED]"}, "version": 2, "status": "active", "created_by":
+ "dola-klipensk", "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk",
+ "updated": "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "496"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:12:02 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/499/history?page=1
+ method: GET
+ response:
+ body: '{"pages": 1, "page": 1, "results": 2, "data": [{"id": 499, "label": "go-test-logs-monitoring-1778670719429722000-upd",
+ "type": "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778670711233974000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778670711233974000", "path": "updated/logs/path/",
+ "access_key_id": "[SANITIZED]"}, "version": 2, "status": "active", "created_by":
+ "dola-klipensk", "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk",
+ "updated": "2018-01-02T03:04:05"}, {"id": 499, "label": "go-test-logs-monitoring-1778670719429722000",
+ "type": "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778670711233974000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778670711233974000", "access_key_id":
+ "[SANITIZED]"}, "version": 1, "status": "inactive", "created_by": "dola-klipensk",
+ "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk", "updated":
+ "2018-01-02T03:04:05"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:12:02 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/499
+ method: GET
+ response:
+ body: '{"id": 499, "label": "go-test-logs-monitoring-1778670719429722000-upd",
+ "type": "akamai_object_storage", "details": {"host": "go-test-logs-monitoring-1778670711233974000.gb-lon-1.linodeobjects.com",
+ "bucket_name": "go-test-logs-monitoring-1778670711233974000", "path": "updated/logs/path/",
+ "access_key_id": "[SANITIZED]"}, "version": 2, "status": "active", "created_by":
+ "dola-klipensk", "created": "2018-01-02T03:04:05", "updated_by": "dola-klipensk",
+ "updated": "2018-01-02T03:04:05"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "496"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:12:03 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/streams/destinations/499
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:12:03 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/keys/3687690
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:12:04 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670711233974000/object-list
+ method: GET
+ response:
+ body: '{"data": [{"name": "cloud-logs-test-connection-20260513T111159", "size":
+ 9, "last_modified": "2018-01-02T03:04:05.282Z", "etag": "06aa6fa8bdc2078e7e1bd903e70c8f6a",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "updated/logs/path/",
+ "size": 0, "last_modified": "2018-01-02T03:04:05.765Z", "etag": "d41d8cd98f00b204e9800998ecf8427e",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}, {"name": "updated/logs/path/cloud-logs-test-connection-20260513T111201",
+ "size": 9, "last_modified": "2018-01-02T03:04:05.949Z", "etag": "06aa6fa8bdc2078e7e1bd903e70c8f6a",
+ "owner": "285755ea-e54d-40f7-8861-0a77cb9e9080"}], "next_marker": null, "is_truncated":
+ false}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "663"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:12:05 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"cloud-logs-test-connection-20260513T111159","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670711233974000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778670711233974000/cloud-logs-test-connection-20260513T111159?Signature=SK8%2ByGdsUSLMPETmKKelH4ZLLaY%3D&Expires=1778671089&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCsY4l9uaDAgtSv50dG9NSivayDy0zwbik%2BVd9Z0lG0/PZ0vImhnAeD%2BfEZELuWGaGxl87v0DTYlFJrBZ3%2B2844JyP3Bb2FWIiC3yzqxOKYRT2s/5YTUWKNBAA%2BfnDrXY4wYhHmkDaP1HydMiHXq1pIzygNHBv5DwqtMp376ZHItEPtxT5hxKToxkS2Gy/AW/L2CZyjOvQdmeVTAErQivePz9wYOT/3oL4cu3G/FEc9KyXG6NhO8eo9j5R4sbrbVyP7hxbpqv2ExTncsqZZXRUDGzapZhvID2%2BGRGr4VnkWQklCe2GrzCDllS2RtATJ%2BWPfyFs3fO9hbaR5tSQjmhPyGdhbwnpjwEYg6Msci//kYb2CP%2BNl%2B%2BkzA0Ie34sx6xr1BdhIwenmXrVws8Q/6ZV4Ozcn0M9CXudMhn0iyKbChXl7MfqyxuJ2A/1TFVvxyS7aNj3Tth%2BTFYF46qJFULs6tb55R2",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "856"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:12:09 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"updated/logs/path/","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670711233974000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778670711233974000/updated/logs/path/?Signature=gp5zjkWxHRmP4unf156Xyp3ULKk%3D&Expires=1778671093&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCvQcMstTC970Dp4tkTC%2Btt4wlzJPcPp5kRCISFBpzhBv%2BJ33WKS1snOFpKHU%2B/Royec4wdRMBsUmK3BbHWNflgHUM0e19Yg9%2BH7fym8RoackOrzG7EDTluxsZAw6EU5SnLZYJ/zDSGC3xy9FhaUKtRAKcrBfPYnOeOLrT6exThZ7/Oh%2BN/p8okzqW/Uu/tHerIqMYxwKkew8lzX3FnasYDaTwhFinAIOUDc0KixTzhVOCmGTyT6gKZMx6HhhBwQkUuRPW6VAY7NuNFrlU%2BWKcvAGnuEqVPJ5ZJACa3x6vvZFg03GNVvaO9yxqIePbBeIINDFeW2jJBfyzGFICnUhzRNx%2BZttabArvcKutCqvxU/KbiUysi7myzROmWH0cC6H2OYSHGCxorFIppCW7fVOpdmIkBbKDsDIf%2BZ/mXelJBd54urwEw97pQbJNtYs/QSmFJgBqSGsW2%2B0tMI38lj%2BDp/xZ3dd",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "830"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:12:13 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"name":"updated/logs/path/cloud-logs-test-connection-20260513T111201","method":"DELETE","expires_in":360}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670711233974000/object-url
+ method: POST
+ response:
+ body: '{"url": "https://gb-lon-1.linodeobjects.com:443/go-test-logs-monitoring-1778670711233974000/updated/logs/path/cloud-logs-test-connection-20260513T111201?Signature=BNAu6pGTu063GZtrgBWgbc7%2B3g8%3D&Expires=1778671097&AWSAccessKeyID=SANITIZED&x-amz-security-token=MQpmODAwOTNlZTliMTE0ZWY1MTY1ZTA4NzMxMjRkOWJhNzg4YTQ0YjhjNWVkMjk5NGJmYjI1NGM0ZDFlZWJkM2JjCt%2BgSRKmJtEeE1loy3IplMLpPVPjJJkLIPyGu6MzwOIr7d13QxQ%2Bd9NGSRH4za10cRLlonhoO8rRQYPf7%2BvP55PG0P4uB3lFChVD9HY9AL/QsCJs5A4qxy23ognzcAnkc0Hb1F49PHU/MLuhEl7RlUoO/ZNwdcu/umcaU2shGyQmJdEk35eZqRh7J9lYoBqKaiBuDmTjJWc1sjnH9lnCKZYEADn6nd4c0bbSnPmE/4crhJS0wUSj9VsTRFVM4UqEVkOkhi6RY8vxQWvhDDOxuWCAC6vgtmn9Y/1C6rWXpurhGqbXC9XCKzDLmuNYm15hkl3n7oIkL0UVx7kfkcxDb0H%2BywtuRGoLNKNMZeeUTfkdCAfGCeHWxaQfPzPq%2B5ADZWL1UqLwmtrDeijk4YawuGyrLRrkEWdTGvXzL8WfpRPCCYcRnUuk3gH8py0yr8cFzC3lzMCeXN/dhHXmucP7HpuvfQRy",
+ "exists": true}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:12:17 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/gb-lon/go-test-logs-monitoring-1778670711233974000
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 13 May 2026 11:12:23 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestMaintenancePolicies_List.yaml b/test/integration/fixtures/TestMaintenancePolicies_List.yaml
index 54b36a96c..e700c5a77 100644
--- a/test/integration/fixtures/TestMaintenancePolicies_List.yaml
+++ b/test/integration/fixtures/TestMaintenancePolicies_List.yaml
@@ -11,17 +11,17 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/maintenance/policies
+ url: https://api.linode.com/v4beta/maintenance/policies?page=1
method: GET
response:
body: '{"data": [{"slug": "linode/migrate", "label": "Migrate", "description":
"Migrates the Linode to a new host while it remains fully operational. Recommended
for maximizing availability.", "type": "migrate", "notification_period_sec":
- 300, "is_default": true}, {"slug": "linode/power_off_on", "label": "Power-off/on",
- "description": "Powers off the Linode at the start of the maintenance event
- and reboots it once the maintenance finishes. Recommended for maximizing performance.",
- "type": "power_off_on", "notification_period_sec": 1800, "is_default": false}],
- "page": 1, "pages": 1, "results": 2}'
+ 10800, "is_default": true}, {"slug": "linode/power_off_on", "label": "Power
+ Off / Power On", "description": "Powers off the Linode at the start of the maintenance
+ event and reboots it once the maintenance finishes. Recommended for maximizing
+ performance.", "type": "power_off_on", "notification_period_sec": 604800, "is_default":
+ false}], "page": 1, "pages": 1, "results": 2}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -33,22 +33,24 @@ interactions:
- '*'
Access-Control-Expose-Headers:
- X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
Cache-Control:
- - private, max-age=0, s-maxage=0, no-cache, no-store
- - private, max-age=60, s-maxage=60
+ - max-age=0, no-cache, no-store
Connection:
- keep-alive
Content-Length:
- - "595"
+ - "607"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
- Server:
- - nginx/1.18.0
+ Expires:
+ - Tue, 21 Apr 2026 18:20:32 GMT
+ Pragma:
+ - no-cache
Strict-Transport-Security:
- max-age=31536000
- - max-age=31536000
Vary:
- Authorization, X-Filter
- Authorization, X-Filter
@@ -62,7 +64,7 @@ interactions:
X-Oauth-Scopes:
- unknown
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestMonitorAlertDefinition.yaml b/test/integration/fixtures/TestMonitorAlertDefinition.yaml
index 8ae0739a2..f93859117 100644
--- a/test/integration/fixtures/TestMonitorAlertDefinition.yaml
+++ b/test/integration/fixtures/TestMonitorAlertDefinition.yaml
@@ -14,54 +14,31 @@ interactions:
url: https://api.linode.com/v4beta/monitor/alert-definitions?page=1
method: GET
response:
- body: '{"pages": 1, "page": 1, "results": 4, "data": [{"id": 10000, "label":
+ body: '{"pages": 1, "page": 1, "results": 2, "data": [{"id": 10000, "label":
"High Memory Usage Plan Dedicated", "description": "Alert triggers when dedicated
- plan nodes consistently reach critical memory usage, risking application performance
- degradation.", "service_type": "dbaas", "type": "system", "scope": "entity",
- "class": "dedicated", "regions": [], "status": "enabled", "severity":
- 2, "rule_criteria": {"rules": [{"label": "Memory Usage", "metric": "memory_usage",
- "unit": "percent", "aggregate_function": "avg", "operator": "gt", "threshold":
- 95, "dimension_filters": []}]}, "alert_channels": [{"id": 10000, "label": "Read-Write
- Channel", "url": "/monitor/alert-channels/10000", "type": "alert-channels"}],
- "trigger_conditions": {"criteria_condition": "ALL", "polling_interval_seconds":
- 300, "evaluation_period_seconds": 300, "trigger_occurrences": 3}, "created":
- "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by": "system",
- "updated_by": "system", "entities": {"url": "/monitor/services/dbaas/alert-definitions/10000/entities",
- "has_more_resources": false, "count": 5}}, {"id": 10001, "label": "High Memory
- Usage Plan Shared", "description": "Alert triggers when shared plan nodes consistently
- reach critical memory usage, risking application performance degradation.",
- "service_type": "dbaas", "type": "system", "scope": "entity", "class": "shared",
- "regions": [], "status": "enabled", "severity": 2, "rule_criteria": {"rules": [{"label": "Memory Usage",
+ plan nodes consistently reach critical memory usage.", "service_type": "dbaas",
+ "type": "system", "scope": "entity", "class": "dedicated", "regions": [], "status":
+ "enabled", "severity": 2, "rule_criteria": {"rules": [{"label": "Memory Usage",
"metric": "memory_usage", "unit": "percent", "aggregate_function": "avg", "operator":
- "gt", "threshold": 90, "dimension_filters": []}]}, "alert_channels": [{"id":
+ "gt", "threshold": 95, "dimension_filters": []}]}, "alert_channels": [{"id":
10000, "label": "Read-Write Channel", "url": "/monitor/alert-channels/10000",
"type": "alert-channels"}], "trigger_conditions": {"criteria_condition": "ALL",
"polling_interval_seconds": 300, "evaluation_period_seconds": 300, "trigger_occurrences":
3}, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by":
- "system", "updated_by": "system", "entities": {"url": "/monitor/services/dbaas/alert-definitions/10001/entities",
- "has_more_resources": false, "count": 2}}, {"id": 11001, "label": "test_alert_logs_prod",
- "description": "some desc1", "service_type": "logs", "type": "user", "scope":
- "entity", "class": null, "regions": [], "status": "enabled", "severity": 2, "rule_criteria": {"rules": [{"label":
- "Successful Upload Count", "metric": "success_upload_count", "unit": "count",
- "aggregate_function": "sum", "operator": "lt", "threshold": 100000, "dimension_filters":
- []}]}, "alert_channels": [{"id": 10004, "label": "Alert Channel", "url":
+ "system", "updated_by": "system", "group_by": ["entity_id"], "entities": {"url":
+ "/monitor/services/dbaas/alert-definitions/10000/entities", "has_more_resources":
+ false, "count": 5}}, {"id": 11184, "label": "Test alert", "description":
+ "Test alert", "service_type": "dbaas", "type": "user", "scope":
+ "entity", "class": null, "regions": [], "status": "disabled", "severity": 3,
+ "rule_criteria": {"rules": [{"label": "CPU Usage", "metric": "cpu_usage", "unit":
+ "percent", "aggregate_function": "avg", "operator": "gt", "threshold": 0, "dimension_filters":
+ []}]}, "alert_channels": [{"id": 10004, "label": "Team Channel", "url":
"/monitor/alert-channels/10004", "type": "alert-channels"}], "trigger_conditions":
{"criteria_condition": "ALL", "polling_interval_seconds": 300, "evaluation_period_seconds":
300, "trigger_occurrences": 1}, "created": "2018-01-02T03:04:05", "updated":
"2018-01-02T03:04:05", "created_by": "tester", "updated_by":
- "tester", "entities": {"url": "/monitor/services/logs/alert-definitions/11001/entities",
- "has_more_resources": false, "count": 1}}, {"id": 11021, "label": "Test Alert", "description": "Test Alert", "service_type":
- "dbaas", "type": "user", "scope": "entity", "class": null, "regions": [], "status":
- "enabled", "severity": 1, "rule_criteria": {"rules": [{"label": "Memory Usage", "metric":
- "memory_usage", "unit": "percent", "aggregate_function": "sum", "operator":
- "gt", "threshold": 100, "dimension_filters": []}]}, "alert_channels": [{"id":
- 10004, "label": "Alert Channel", "url": "/monitor/alert-channels/10004",
- "type": "alert-channels"}], "trigger_conditions": {"criteria_condition": "ALL",
- "polling_interval_seconds": 1800, "evaluation_period_seconds": 900, "trigger_occurrences":
- 10}, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by":
- "tester", "updated_by": "tester", "entities":
- {"url": "/monitor/services/dbaas/alert-definitions/11021/entities", "has_more_resources":
- false, "count": 2}}]}'
+ "tester", "group_by": ["entity_id"], "entities": {"url": "/monitor/services/dbaas/alert-definitions/11184/entities",
+ "has_more_resources": false, "count": 1}}]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -84,7 +61,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 27 Apr 2026 12:32:17 GMT
+ - Thu, 04 Jun 2026 10:41:16 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -114,7 +91,7 @@ interactions:
duration: ""
- request:
body: '{"label":"go-test-alert-definition-create","severity":2,"channel_ids":[10000],"rule_criteria":{"rules":[{"aggregate_function":"avg","dimension_filters":[{"dimension_label":"node_type","operator":"eq","value":"primary"}],"metric":"memory_usage","operator":"gt","threshold":90}]},"trigger_conditions":{"criteria_condition":"ALL","evaluation_period_seconds":300,"polling_interval_seconds":300,"trigger_occurrences":1},"description":"Test
- alert definition creation"}'
+ alert definition creation","group_by":["entity_id"]}'
form: {}
headers:
Accept:
@@ -126,18 +103,19 @@ interactions:
url: https://api.linode.com/v4beta/monitor/services/dbaas/alert-definitions
method: POST
response:
- body: '{"id": 11072, "label": "go-test-alert-definition-create", "description":
+ body: '{"id": 11230, "label": "go-test-alert-definition-create", "description":
"Test alert definition creation", "service_type": "dbaas", "type": "user", "scope":
- "entity", "class": null, "regions": [], "status": "provisioning", "severity": 2, "rule_criteria": {"rules": [{"label":
- "Memory Usage", "metric": "memory_usage", "unit": "percent", "aggregate_function":
- "avg", "operator": "gt", "threshold": 90, "dimension_filters": [{"label": "Node
- Type", "dimension_label": "node_type", "operator": "eq", "value": "primary"}]}]},
- "alert_channels": [{"id": 10000, "label": "Read-Write Channel", "url": "/monitor/alert-channels/10000",
- "type": "alert-channels"}], "trigger_conditions": {"criteria_condition": "ALL",
- "polling_interval_seconds": 300, "evaluation_period_seconds": 300, "trigger_occurrences":
- 1}, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by":
- "tester", "updated_by": "tester", "entities":
- {"url": "/monitor/services/dbaas/alert-definitions/11072/entities", "has_more_resources":
+ "entity", "class": null, "regions": [], "status": "provisioning", "severity":
+ 2, "rule_criteria": {"rules": [{"label": "Memory Usage", "metric": "memory_usage",
+ "unit": "percent", "aggregate_function": "avg", "operator": "gt", "threshold":
+ 90, "dimension_filters": [{"label": "Node Type", "dimension_label": "node_type",
+ "operator": "eq", "value": "primary"}]}]}, "alert_channels": [{"id": 10000,
+ "label": "Read-Write Channel", "url": "/monitor/alert-channels/10000", "type":
+ "alert-channels"}], "trigger_conditions": {"criteria_condition": "ALL", "polling_interval_seconds":
+ 300, "evaluation_period_seconds": 300, "trigger_occurrences": 1}, "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by": "tester",
+ "updated_by": "tester", "group_by": ["entity_id"], "entities":
+ {"url": "/monitor/services/dbaas/alert-definitions/11230/entities", "has_more_resources":
false, "count": 0}}'
headers:
Access-Control-Allow-Credentials:
@@ -161,7 +139,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 27 Apr 2026 12:32:18 GMT
+ - Thu, 04 Jun 2026 10:41:17 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -198,21 +176,22 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/monitor/services/dbaas/alert-definitions/11072
+ url: https://api.linode.com/v4beta/monitor/services/dbaas/alert-definitions/11230
method: GET
response:
- body: '{"id": 11072, "label": "go-test-alert-definition-create", "description":
+ body: '{"id": 11230, "label": "go-test-alert-definition-create", "description":
"Test alert definition creation", "service_type": "dbaas", "type": "user", "scope":
- "entity", "class": null, "regions": [], "status": "enabled", "severity": 2, "rule_criteria": {"rules": [{"label":
- "Memory Usage", "metric": "memory_usage", "unit": "percent", "aggregate_function":
- "avg", "operator": "gt", "threshold": 90, "dimension_filters": [{"label": "Node
- Type", "dimension_label": "node_type", "operator": "eq", "value": "primary"}]}]},
- "alert_channels": [{"id": 10000, "label": "Read-Write Channel", "url": "/monitor/alert-channels/10000",
- "type": "alert-channels"}], "trigger_conditions": {"criteria_condition": "ALL",
- "polling_interval_seconds": 300, "evaluation_period_seconds": 300, "trigger_occurrences":
- 1}, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by":
- "tester", "updated_by": "tester", "entities":
- {"url": "/monitor/services/dbaas/alert-definitions/11072/entities", "has_more_resources":
+ "entity", "class": null, "regions": [], "status": "enabled", "severity": 2,
+ "rule_criteria": {"rules": [{"label": "Memory Usage", "metric": "memory_usage",
+ "unit": "percent", "aggregate_function": "avg", "operator": "gt", "threshold":
+ 90, "dimension_filters": [{"label": "Node Type", "dimension_label": "node_type",
+ "operator": "eq", "value": "primary"}]}]}, "alert_channels": [{"id": 10000,
+ "label": "Read-Write Channel", "url": "/monitor/alert-channels/10000", "type":
+ "alert-channels"}], "trigger_conditions": {"criteria_condition": "ALL", "polling_interval_seconds":
+ 300, "evaluation_period_seconds": 300, "trigger_occurrences": 1}, "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by": "tester",
+ "updated_by": "tester", "group_by": ["entity_id"], "entities":
+ {"url": "/monitor/services/dbaas/alert-definitions/11230/entities", "has_more_resources":
false, "count": 0}}'
headers:
Access-Control-Allow-Credentials:
@@ -236,7 +215,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 27 Apr 2026 12:32:35 GMT
+ - Thu, 04 Jun 2026 10:41:33 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -275,21 +254,22 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/monitor/services/dbaas/alert-definitions/11072
+ url: https://api.linode.com/v4beta/monitor/services/dbaas/alert-definitions/11230
method: PUT
response:
- body: '{"id": 11072, "label": "go-test-alert-definition-create-updated", "description":
+ body: '{"id": 11230, "label": "go-test-alert-definition-create-updated", "description":
"Test alert definition creation", "service_type": "dbaas", "type": "user", "scope":
- "entity", "class": null, "regions": [], "status": "enabled", "severity": 2, "rule_criteria": {"rules": [{"label":
- "Memory Usage", "metric": "memory_usage", "unit": "percent", "aggregate_function":
- "avg", "operator": "gt", "threshold": 90, "dimension_filters": [{"label": "Node
- Type", "dimension_label": "node_type", "operator": "eq", "value": "primary"}]}]},
- "alert_channels": [{"id": 10000, "label": "Read-Write Channel", "url": "/monitor/alert-channels/10000",
- "type": "alert-channels"}], "trigger_conditions": {"criteria_condition": "ALL",
- "polling_interval_seconds": 300, "evaluation_period_seconds": 300, "trigger_occurrences":
- 1}, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by":
- "tester", "updated_by": "tester", "entities":
- {"url": "/monitor/services/dbaas/alert-definitions/11072/entities", "has_more_resources":
+ "entity", "class": null, "regions": [], "status": "enabled", "severity": 2,
+ "rule_criteria": {"rules": [{"label": "Memory Usage", "metric": "memory_usage",
+ "unit": "percent", "aggregate_function": "avg", "operator": "gt", "threshold":
+ 90, "dimension_filters": [{"label": "Node Type", "dimension_label": "node_type",
+ "operator": "eq", "value": "primary"}]}]}, "alert_channels": [{"id": 10000,
+ "label": "Read-Write Channel", "url": "/monitor/alert-channels/10000", "type":
+ "alert-channels"}], "trigger_conditions": {"criteria_condition": "ALL", "polling_interval_seconds":
+ 300, "evaluation_period_seconds": 300, "trigger_occurrences": 1}, "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by": "tester",
+ "updated_by": "tester", "group_by": ["entity_id"], "entities":
+ {"url": "/monitor/services/dbaas/alert-definitions/11230/entities", "has_more_resources":
false, "count": 0}}'
headers:
Access-Control-Allow-Credentials:
@@ -313,7 +293,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 27 Apr 2026 12:32:36 GMT
+ - Thu, 04 Jun 2026 10:41:35 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -350,7 +330,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/monitor/services/dbaas/alert-definitions/11072
+ url: https://api.linode.com/v4beta/monitor/services/dbaas/alert-definitions/11230
method: DELETE
response:
body: '{}'
@@ -378,7 +358,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 27 Apr 2026 12:32:37 GMT
+ - Thu, 04 Jun 2026 10:41:36 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestMonitorAlertDefinition_Clone.yaml b/test/integration/fixtures/TestMonitorAlertDefinition_Clone.yaml
new file mode 100644
index 000000000..61bed1a88
--- /dev/null
+++ b/test/integration/fixtures/TestMonitorAlertDefinition_Clone.yaml
@@ -0,0 +1,436 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/alert-channels?page=1
+ method: GET
+ response:
+ body: '{"pages": 1, "page": 1, "results": 2, "data": [{"id": 10000, "label": "Read-Write
+ Channel", "channel_type": "email", "type": "system", "details": {"email": {"usernames":
+ [], "recipient_type": "read_write_users"}}, "alerts": {"url": "/monitor/alert-channels/10000/alerts",
+ "type": "alerts-definitions", "alert_count": 9}, "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "created_by": "system", "updated_by": "system"},
+ {"id": 10118, "label": "notification channel", "channel_type": "email", "type": "user",
+ "details": {"email": {"usernames": ["tester"], "recipient_type":
+ "user"}}, "alerts": {"url": "/monitor/alert-channels/10118/alerts", "type":
+ "alerts-definitions", "alert_count": 0}, "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05", "created_by": "tester", "updated_by":
+ "tester"}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 04 Jun 2026 10:36:31 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - account:read_only databases:read_only domains:read_only events:read_only firewall:read_only
+ images:read_only ips:read_only linodes:read_only lke:read_only longview:read_only
+ monitor:read_write nodebalancers:read_only object_storage:read_only stackscripts:read_only
+ volumes:read_only
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-alert-definition-clone-source","severity":2,"channel_ids":[10000],"rule_criteria":{"rules":[{"aggregate_function":"avg","dimension_filters":[{"dimension_label":"node_type","operator":"eq","value":"primary"}],"metric":"memory_usage","operator":"gt","threshold":90}]},"trigger_conditions":{"criteria_condition":"ALL","evaluation_period_seconds":300,"polling_interval_seconds":300,"trigger_occurrences":1},"description":"Source
+ alert definition for clone test","group_by":["entity_id"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/services/dbaas/alert-definitions
+ method: POST
+ response:
+ body: '{"id": 11228, "label": "go-test-alert-definition-clone-source", "description":
+ "Source alert definition for clone test", "service_type": "dbaas", "type": "user",
+ "scope": "entity", "class": null, "regions": [], "status": "provisioning", "severity":
+ 2, "rule_criteria": {"rules": [{"label": "Memory Usage", "metric": "memory_usage",
+ "unit": "percent", "aggregate_function": "avg", "operator": "gt", "threshold":
+ 90, "dimension_filters": [{"label": "Node Type", "dimension_label": "node_type",
+ "operator": "eq", "value": "primary"}]}]}, "alert_channels": [{"id": 10000,
+ "label": "Read-Write Channel", "url": "/monitor/alert-channels/10000", "type":
+ "alert-channels"}], "trigger_conditions": {"criteria_condition": "ALL", "polling_interval_seconds":
+ 300, "evaluation_period_seconds": 300, "trigger_occurrences": 1}, "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by": "tester",
+ "updated_by": "tester", "group_by": ["entity_id"], "entities":
+ {"url": "/monitor/services/dbaas/alert-definitions/11228/entities", "has_more_resources":
+ false, "count": 0}}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 04 Jun 2026 10:36:32 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - databases:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - account:read_only databases:read_only domains:read_only events:read_only firewall:read_only
+ images:read_only ips:read_only linodes:read_only lke:read_only longview:read_only
+ monitor:read_write nodebalancers:read_only object_storage:read_only stackscripts:read_only
+ volumes:read_only
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/services/dbaas/alert-definitions/11228
+ method: GET
+ response:
+ body: '{"id": 11228, "label": "go-test-alert-definition-clone-source", "description":
+ "Source alert definition for clone test", "service_type": "dbaas", "type": "user",
+ "scope": "entity", "class": null, "regions": [], "status": "enabled", "severity":
+ 2, "rule_criteria": {"rules": [{"label": "Memory Usage", "metric": "memory_usage",
+ "unit": "percent", "aggregate_function": "avg", "operator": "gt", "threshold":
+ 90, "dimension_filters": [{"label": "Node Type", "dimension_label": "node_type",
+ "operator": "eq", "value": "primary"}]}]}, "alert_channels": [{"id": 10000,
+ "label": "Read-Write Channel", "url": "/monitor/alert-channels/10000", "type":
+ "alert-channels"}], "trigger_conditions": {"criteria_condition": "ALL", "polling_interval_seconds":
+ 300, "evaluation_period_seconds": 300, "trigger_occurrences": 1}, "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by": "tester",
+ "updated_by": "tester", "group_by": ["entity_id"], "entities":
+ {"url": "/monitor/services/dbaas/alert-definitions/11228/entities", "has_more_resources":
+ false, "count": 0}}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 04 Jun 2026 10:36:48 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - monitor:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - account:read_only databases:read_only domains:read_only events:read_only firewall:read_only
+ images:read_only ips:read_only linodes:read_only lke:read_only longview:read_only
+ monitor:read_write nodebalancers:read_only object_storage:read_only stackscripts:read_only
+ volumes:read_only
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-test-alert-definition-clone-source-clone","severity":1,"channel_ids":[10000],"trigger_conditions":{"criteria_condition":"ALL","evaluation_period_seconds":900,"polling_interval_seconds":300,"trigger_occurrences":3},"description":"Cloned
+ alert definition"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/services/dbaas/alert-definitions/11228/clone
+ method: POST
+ response:
+ body: '{"id": 11229, "label": "go-test-alert-definition-clone-source-clone", "description":
+ "Cloned alert definition", "service_type": "dbaas", "type": "user", "scope":
+ "entity", "class": null, "regions": [], "status": "provisioning", "severity":
+ 1, "rule_criteria": {"rules": [{"label": "Memory Usage", "metric": "memory_usage",
+ "unit": "percent", "aggregate_function": "avg", "operator": "gt", "threshold":
+ 90, "dimension_filters": [{"label": "Node Type", "dimension_label": "node_type",
+ "operator": "eq", "value": "primary"}]}]}, "alert_channels": [{"id": 10000,
+ "label": "Read-Write Channel", "url": "/monitor/alert-channels/10000", "type":
+ "alert-channels"}], "trigger_conditions": {"criteria_condition": "ALL", "polling_interval_seconds":
+ 300, "evaluation_period_seconds": 900, "trigger_occurrences": 3}, "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by": "tester",
+ "updated_by": "tester", "group_by": ["entity_id"], "entities":
+ {"url": "/monitor/services/dbaas/alert-definitions/11229/entities", "has_more_resources":
+ false, "count": 0}}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 04 Jun 2026 10:36:50 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - databases:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - account:read_only databases:read_only domains:read_only events:read_only firewall:read_only
+ images:read_only ips:read_only linodes:read_only lke:read_only longview:read_only
+ monitor:read_write nodebalancers:read_only object_storage:read_only stackscripts:read_only
+ volumes:read_only
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/services/dbaas/alert-definitions/11228
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 04 Jun 2026 10:36:51 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - databases:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - account:read_only databases:read_only domains:read_only events:read_only firewall:read_only
+ images:read_only ips:read_only linodes:read_only lke:read_only longview:read_only
+ monitor:read_write nodebalancers:read_only object_storage:read_only stackscripts:read_only
+ volumes:read_only
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/monitor/services/dbaas/alert-definitions/11229
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 04 Jun 2026 10:36:52 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - databases:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - account:read_only databases:read_only domains:read_only events:read_only firewall:read_only
+ images:read_only ips:read_only linodes:read_only lke:read_only longview:read_only
+ monitor:read_write nodebalancers:read_only object_storage:read_only stackscripts:read_only
+ volumes:read_only
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestMonitorAlertDefinition_CreateWithIdempotency.yaml b/test/integration/fixtures/TestMonitorAlertDefinition_CreateWithIdempotency.yaml
index 3a2630f41..82983afec 100644
--- a/test/integration/fixtures/TestMonitorAlertDefinition_CreateWithIdempotency.yaml
+++ b/test/integration/fixtures/TestMonitorAlertDefinition_CreateWithIdempotency.yaml
@@ -47,7 +47,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 27 Apr 2026 12:32:45 GMT
+ - Thu, 04 Jun 2026 17:17:32 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -76,7 +76,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-alert-definition-idempotency-1777293165535535919","severity":2,"channel_ids":[10000],"rule_criteria":{"rules":[{"aggregate_function":"avg","dimension_filters":[{"dimension_label":"node_type","operator":"eq","value":"primary"}],"metric":"memory_usage","operator":"gt","threshold":90}]},"trigger_conditions":{"criteria_condition":"ALL","evaluation_period_seconds":300,"polling_interval_seconds":300,"trigger_occurrences":1},"description":"Test
+ body: '{"label":"go-test-alert-definition-idempotency-1780593452875420575","severity":2,"channel_ids":[10000],"rule_criteria":{"rules":[{"aggregate_function":"avg","dimension_filters":[{"dimension_label":"node_type","operator":"eq","value":"primary"}],"metric":"memory_usage","operator":"gt","threshold":90}]},"trigger_conditions":{"criteria_condition":"ALL","evaluation_period_seconds":300,"polling_interval_seconds":300,"trigger_occurrences":1},"description":"Test
alert definition creation with idempotency"}'
form: {}
headers:
@@ -89,18 +89,19 @@ interactions:
url: https://api.linode.com/v4beta/monitor/services/dbaas/alert-definitions
method: POST
response:
- body: '{"id": 11073, "label": "go-test-alert-definition-idempotency-1777293165535535919",
+ body: '{"id": 11234, "label": "go-test-alert-definition-idempotency-1780593452875420575",
"description": "Test alert definition creation with idempotency", "service_type":
"dbaas", "type": "user", "scope": "entity", "class": null, "regions": [], "status":
- "provisioning", "severity": 2, "rule_criteria": {"rules": [{"label": "Memory Usage", "metric": "memory_usage",
- "unit": "percent", "aggregate_function": "avg", "operator": "gt", "threshold":
- 90, "dimension_filters": [{"label": "Node Type", "dimension_label": "node_type",
- "operator": "eq", "value": "primary"}]}]}, "alert_channels": [{"id": 10000,
- "label": "Read-Write Channel", "url": "/monitor/alert-channels/10000", "type":
- "alert-channels"}], "trigger_conditions": {"criteria_condition": "ALL", "polling_interval_seconds":
- 300, "evaluation_period_seconds": 300, "trigger_occurrences": 1}, "created":
- "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by": "tester",
- "updated_by": "tester", "entities": {"url": "/monitor/services/dbaas/alert-definitions/11073/entities",
+ "provisioning", "severity": 2, "rule_criteria": {"rules": [{"label": "Memory
+ Usage", "metric": "memory_usage", "unit": "percent", "aggregate_function": "avg",
+ "operator": "gt", "threshold": 90, "dimension_filters": [{"label": "Node Type",
+ "dimension_label": "node_type", "operator": "eq", "value": "primary"}]}]}, "alert_channels":
+ [{"id": 10000, "label": "Read-Write Channel", "url": "/monitor/alert-channels/10000",
+ "type": "alert-channels"}], "trigger_conditions": {"criteria_condition": "ALL",
+ "polling_interval_seconds": 300, "evaluation_period_seconds": 300, "trigger_occurrences":
+ 1}, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by":
+ "tester", "updated_by": "tester", "group_by":
+ ["entity_id"], "entities": {"url": "/monitor/services/dbaas/alert-definitions/11234/entities",
"has_more_resources": false, "count": 0}}'
headers:
Access-Control-Allow-Credentials:
@@ -124,7 +125,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 27 Apr 2026 12:32:46 GMT
+ - Thu, 04 Jun 2026 17:17:34 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -152,7 +153,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-alert-definition-idempotency-1777293165535535919","severity":2,"channel_ids":[10000],"rule_criteria":{"rules":[{"aggregate_function":"avg","dimension_filters":[{"dimension_label":"node_type","operator":"eq","value":"primary"}],"metric":"memory_usage","operator":"gt","threshold":90}]},"trigger_conditions":{"criteria_condition":"ALL","evaluation_period_seconds":300,"polling_interval_seconds":300,"trigger_occurrences":1},"description":"Test
+ body: '{"label":"go-test-alert-definition-idempotency-1780593452875420575","severity":2,"channel_ids":[10000],"rule_criteria":{"rules":[{"aggregate_function":"avg","dimension_filters":[{"dimension_label":"node_type","operator":"eq","value":"primary"}],"metric":"memory_usage","operator":"gt","threshold":90}]},"trigger_conditions":{"criteria_condition":"ALL","evaluation_period_seconds":300,"polling_interval_seconds":300,"trigger_occurrences":1},"description":"Test
alert definition creation with idempotency"}'
form: {}
headers:
@@ -183,7 +184,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 27 Apr 2026 12:32:47 GMT
+ - Thu, 04 Jun 2026 17:17:34 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -212,7 +213,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/monitor/services/dbaas/alert-definitions/11073
+ url: https://api.linode.com/v4beta/monitor/services/dbaas/alert-definitions/11234
method: DELETE
response:
body: '{}'
@@ -240,7 +241,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 27 Apr 2026 12:32:48 GMT
+ - Thu, 04 Jun 2026 17:17:35 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestMonitorAlertDefinitions_List.yaml b/test/integration/fixtures/TestMonitorAlertDefinitions_List.yaml
index 7fa1c7992..9f116a3dd 100644
--- a/test/integration/fixtures/TestMonitorAlertDefinitions_List.yaml
+++ b/test/integration/fixtures/TestMonitorAlertDefinitions_List.yaml
@@ -14,54 +14,31 @@ interactions:
url: https://api.linode.com/v4beta/monitor/alert-definitions?page=1
method: GET
response:
- body: '{"pages": 1, "page": 1, "results": 4, "data": [{"id": 10000, "label":
+ body: '{"pages": 1, "page": 1, "results": 2, "data": [{"id": 10000, "label":
"High Memory Usage Plan Dedicated", "description": "Alert triggers when dedicated
- plan nodes consistently reach critical memory usage, risking application performance
- degradation.", "service_type": "dbaas", "type": "system", "scope": "entity",
- "class": "dedicated", "regions": [], "status": "enabled", "severity":
- 2, "rule_criteria": {"rules": [{"label": "Memory Usage", "metric": "memory_usage",
- "unit": "percent", "aggregate_function": "avg", "operator": "gt", "threshold":
- 95, "dimension_filters": []}]}, "alert_channels": [{"id": 10000, "label": "Read-Write
- Channel", "url": "/monitor/alert-channels/10000", "type": "alert-channels"}],
- "trigger_conditions": {"criteria_condition": "ALL", "polling_interval_seconds":
- 300, "evaluation_period_seconds": 300, "trigger_occurrences": 3}, "created":
- "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by": "system",
- "updated_by": "system", "entities": {"url": "/monitor/services/dbaas/alert-definitions/10000/entities",
- "has_more_resources": false, "count": 5}}, {"id": 10001, "label": "High Memory
- Usage Plan Shared", "description": "Alert triggers when shared plan nodes consistently
- reach critical memory usage, risking application performance degradation.",
- "service_type": "dbaas", "type": "system", "scope": "entity", "class": "shared",
- "regions": [], "status": "enabled", "rule_criteria": {"rules": [{"label": "Memory Usage",
+ plan nodes consistently reach critical memory usage.", "service_type": "dbaas",
+ "type": "system", "scope": "entity", "class": "dedicated", "regions": [], "status":
+ "enabled", "severity": 2, "rule_criteria": {"rules": [{"label": "Memory Usage",
"metric": "memory_usage", "unit": "percent", "aggregate_function": "avg", "operator":
- "gt", "threshold": 90, "dimension_filters": []}]}, "alert_channels": [{"id":
+ "gt", "threshold": 95, "dimension_filters": []}]}, "alert_channels": [{"id":
10000, "label": "Read-Write Channel", "url": "/monitor/alert-channels/10000",
"type": "alert-channels"}], "trigger_conditions": {"criteria_condition": "ALL",
"polling_interval_seconds": 300, "evaluation_period_seconds": 300, "trigger_occurrences":
3}, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by":
- "system", "updated_by": "system", "entities": {"url": "/monitor/services/dbaas/alert-definitions/10001/entities",
- "has_more_resources": false, "count": 2}}, {"id": 11001, "label": "test_alert_logs_prod",
- "description": "some desc1", "service_type": "logs", "type": "user", "scope":
- "entity", "class": null, "regions": [], "status": "enabled", "severity": 2, "rule_criteria": {"rules": [{"label":
- "Successful Upload Count", "metric": "success_upload_count", "unit": "count",
- "aggregate_function": "sum", "operator": "lt", "threshold": 100000, "dimension_filters":
- []}]}, "alert_channels": [{"id": 10004, "label": "Alert Channel", "url":
+ "system", "updated_by": "system", "group_by": ["entity_id"], "entities": {"url":
+ "/monitor/services/dbaas/alert-definitions/10000/entities", "has_more_resources":
+ false, "count": 5}}, {"id": 11184, "label": "Test alert", "description":
+ "Test alert", "service_type": "dbaas", "type": "user", "scope":
+ "entity", "class": null, "regions": [], "status": "disabled", "severity": 3,
+ "rule_criteria": {"rules": [{"label": "CPU Usage", "metric": "cpu_usage", "unit":
+ "percent", "aggregate_function": "avg", "operator": "gt", "threshold": 0, "dimension_filters":
+ []}]}, "alert_channels": [{"id": 10004, "label": "Team Channel", "url":
"/monitor/alert-channels/10004", "type": "alert-channels"}], "trigger_conditions":
{"criteria_condition": "ALL", "polling_interval_seconds": 300, "evaluation_period_seconds":
300, "trigger_occurrences": 1}, "created": "2018-01-02T03:04:05", "updated":
"2018-01-02T03:04:05", "created_by": "tester", "updated_by":
- "tester", "entities": {"url": "/monitor/services/logs/alert-definitions/11001/entities",
- "has_more_resources": false, "count": 1}}, {"id": 11021, "label": "Test Alert", "description": "Test Alert", "service_type":
- "dbaas", "type": "user", "scope": "entity", "class": null, "regions": [], "status":
- "enabled", "severity": 1, "rule_criteria": {"rules": [{"label": "Memory Usage", "metric":
- "memory_usage", "unit": "percent", "aggregate_function": "sum", "operator":
- "gt", "threshold": 100, "dimension_filters": []}]}, "alert_channels": [{"id":
- 10004, "label": "Alert Channel", "url": "/monitor/alert-channels/10004",
- "type": "alert-channels"}], "trigger_conditions": {"criteria_condition": "ALL",
- "polling_interval_seconds": 1800, "evaluation_period_seconds": 900, "trigger_occurrences":
- 10}, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "created_by":
- "tester", "updated_by": "tester", "entities":
- {"url": "/monitor/services/dbaas/alert-definitions/11021/entities", "has_more_resources":
- false, "count": 2}}]}'
+ "tester", "group_by": ["entity_id"], "entities": {"url": "/monitor/services/dbaas/alert-definitions/11184/entities",
+ "has_more_resources": false, "count": 1}}]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -84,7 +61,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 27 Apr 2026 12:32:41 GMT
+ - Thu, 04 Jun 2026 17:01:13 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestMonitorDashboards_Get.yaml b/test/integration/fixtures/TestMonitorDashboards_Get.yaml
index 9cc9f7e47..7a44605a0 100644
--- a/test/integration/fixtures/TestMonitorDashboards_Get.yaml
+++ b/test/integration/fixtures/TestMonitorDashboards_Get.yaml
@@ -15,117 +15,154 @@ interactions:
method: GET
response:
body: '{"data": [{"id": 1, "type": "standard", "service_type": "dbaas", "label":
- "Resource Usage", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "widgets": [{"metric": "cpu_usage", "unit": "%", "label": "CPU Usage", "color":
- "default", "size": 12, "chart_type": "area", "y_label": "cpu_usage", "group_by":
- ["entity_id"], "aggregate_function": "avg"}, {"metric": "memory_usage", "unit":
- "%", "label": "Memory Usage", "color": "default", "size": 6, "chart_type": "area",
- "y_label": "memory_usage", "group_by": ["entity_id"], "aggregate_function":
+ "Resource Usage", "group_by": ["entity_id"], "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "widgets": [{"metric": "cpu_usage", "unit":
+ "%", "label": "CPU Usage", "color": "default", "size": 12, "chart_type": "area",
+ "y_label": "cpu_usage", "description": null, "aggregate_function": "avg"}, {"metric":
+ "memory_usage", "unit": "%", "label": "Memory Usage", "color": "default", "size":
+ 6, "chart_type": "area", "y_label": "memory_usage", "description": null, "aggregate_function":
"avg"}, {"metric": "available_memory", "unit": "GB", "label": "Available Memory",
"color": "default", "size": 6, "chart_type": "area", "y_label": "available_memory",
- "group_by": ["entity_id"], "aggregate_function": "avg"}, {"metric": "disk_usage",
+ "description": null, "aggregate_function": "avg"}, {"metric": "disk_usage",
"unit": "%", "label": "Disk Space Usage", "color": "default", "size": 6, "chart_type":
- "area", "y_label": "disk_usage", "group_by": ["entity_id"], "aggregate_function":
+ "area", "y_label": "disk_usage", "description": null, "aggregate_function":
"avg"}, {"metric": "available_disk", "unit": "GB", "label": "Available Disk
Space", "color": "default", "size": 6, "chart_type": "area", "y_label": "available_disk",
- "group_by": ["entity_id"], "aggregate_function": "avg"}, {"metric": "read_iops",
- "unit": "IOPS", "label": "Disk I/O Read", "color": "default", "size": 6, "chart_type":
- "area", "y_label": "read_iops", "group_by": ["entity_id"], "aggregate_function":
- "avg"}, {"metric": "write_iops", "unit": "IOPS", "label": "Disk I/O Write",
- "color": "default", "size": 6, "chart_type": "area", "y_label": "write_iops",
- "group_by": ["entity_id"], "aggregate_function": "avg"}]}, {"id": 2, "type":
- "standard", "service_type": "linode", "label": "Linode Default Statistics",
- "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "widgets":
- [{"metric": "vm_cpu_time_total", "unit": "%", "label": "CPU Usage by Instance",
- "color": "default", "size": 12, "chart_type": "area", "y_label": "vm_cpu_time_total",
- "group_by": ["entity_id"], "aggregate_function": "avg"}, {"metric": "vm_local_disk_iops_total",
- "unit": "IOPS", "label": "Local Disk I/O by Instance", "color": "default", "size":
- 12, "chart_type": "area", "y_label": "vm_local_disk_iops_total", "group_by":
- ["entity_id"], "aggregate_function": "avg"}, {"metric": "vm_network_bytes_total",
- "unit": "Kbps", "label": "Network Traffic In by Instance", "color": "default",
- "size": 12, "chart_type": "area", "y_label": "vm_network_bytes_total", "group_by":
- ["entity_id"], "aggregate_function": "avg", "filters": [{"dimension_label":
- "pattern", "operator": "in", "value": "publicin,privatein"}]}, {"metric": "vm_network_bytes_total",
- "unit": "Kbps", "label": "Network Traffic Out by Instance", "color": "default",
- "size": 12, "chart_type": "area", "y_label": "vm_network_bytes_total", "group_by":
- ["entity_id"], "aggregate_function": "avg", "filters": [{"dimension_label":
- "pattern", "operator": "in", "value": "publicout,privateout"}]}]}, {"id": 3,
- "type": "standard", "service_type": "nodebalancer", "label": "NodeBalancer",
- "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "widgets":
- [{"metric": "nb_ingress_traffic_rate", "unit": "Bps", "label": "Ingress Traffic
- Rate", "color": "default", "size": 12, "chart_type": "line", "y_label": "nb_ingress_traffic_rate",
- "group_by": ["entity_id"], "aggregate_function": "sum"}, {"metric": "nb_egress_traffic_rate",
+ "description": null, "aggregate_function": "avg"}, {"metric": "read_iops", "unit":
+ "IOPS", "label": "Disk I/O Read", "color": "default", "size": 6, "chart_type":
+ "area", "y_label": "read_iops", "description": null, "aggregate_function": "avg"},
+ {"metric": "write_iops", "unit": "IOPS", "label": "Disk I/O Write", "color":
+ "default", "size": 6, "chart_type": "area", "y_label": "write_iops", "description":
+ null, "aggregate_function": "avg"}]}, {"id": 2, "type": "standard", "service_type":
+ "linode", "label": "Overview", "group_by": ["entity_id"], "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "widgets": [{"metric": "vm_cpu_time_total",
+ "unit": "%", "label": "CPU Usage by Instance", "color": "default", "size": 12,
+ "chart_type": "area", "y_label": "vm_cpu_time_total", "description": null, "aggregate_function":
+ "avg"}, {"metric": "vm_local_disk_iops_total", "unit": "IOPS", "label": "Local
+ Disk I/O by Instance", "color": "default", "size": 12, "chart_type": "area",
+ "y_label": "vm_local_disk_iops_total", "description": null, "aggregate_function":
+ "avg"}, {"metric": "vm_network_bytes_total", "unit": "Kbps", "label": "Network
+ Traffic In by Instance", "color": "default", "size": 12, "chart_type": "area",
+ "y_label": "vm_network_bytes_total", "description": null, "aggregate_function":
+ "avg", "filters": [{"dimension_label": "pattern", "operator": "in", "value":
+ "publicin,privatein"}]}, {"metric": "vm_network_bytes_total", "unit": "Kbps",
+ "label": "Network Traffic Out by Instance", "color": "default", "size": 12,
+ "chart_type": "area", "y_label": "vm_network_bytes_total", "description": null,
+ "aggregate_function": "avg", "filters": [{"dimension_label": "pattern", "operator":
+ "in", "value": "publicout,privateout"}]}]}, {"id": 3, "type": "standard", "service_type":
+ "nodebalancer", "label": "Traffic Overview", "group_by": ["entity_id"], "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "widgets": [{"metric":
+ "nb_ingress_traffic_rate", "unit": "Bps", "label": "Ingress Traffic Rate", "color":
+ "default", "size": 12, "chart_type": "line", "y_label": "nb_ingress_traffic_rate",
+ "description": null, "aggregate_function": "sum"}, {"metric": "nb_egress_traffic_rate",
"unit": "Bps", "label": "Egress Traffic Rate", "color": "default", "size": 12,
- "chart_type": "line", "y_label": "nb_egress_traffic_rate", "group_by": ["entity_id"],
+ "chart_type": "line", "y_label": "nb_egress_traffic_rate", "description": null,
"aggregate_function": "sum"}, {"metric": "nb_ingress_tcp_traffic_rate", "unit":
"Bps", "label": "Ingress TCP Traffic Rate", "color": "default", "size": 6, "chart_type":
- "line", "y_label": "nb_ingress_tcp_traffic_rate", "group_by": ["entity_id"],
- "aggregate_function": "sum"}, {"metric": "nb_egress_tcp_traffic_rate", "unit":
- "Bps", "label": "Egress TCP Traffic Rate", "color": "default", "size": 6, "chart_type":
- "line", "y_label": "nb_egress_tcp_traffic_rate", "group_by": ["entity_id"],
- "aggregate_function": "sum"}, {"metric": "nb_ingress_udp_traffic_rate", "unit":
- "Bps", "label": "Ingress UDP Traffic Rate", "color": "default", "size": 6, "chart_type":
- "line", "y_label": "nb_ingress_udp_traffic_rate", "group_by": ["entity_id"],
- "aggregate_function": "sum"}, {"metric": "nb_egress_udp_traffic_rate", "unit":
- "Bps", "label": "Egress UDP Traffic Rate", "color": "default", "size": 6, "chart_type":
- "line", "y_label": "nb_egress_udp_traffic_rate", "group_by": ["entity_id"],
- "aggregate_function": "sum"}, {"metric": "nb_total_active_sessions", "unit":
- "Count", "label": "Total Active Sessions", "color": "default", "size": 12, "chart_type":
- "line", "y_label": "nb_total_active_sessions", "group_by": ["entity_id"], "aggregate_function":
- "avg"}, {"metric": "nb_active_tcp_sessions", "unit": "Count", "label": "Active
- TCP Sessions", "color": "default", "size": 6, "chart_type": "line", "y_label":
- "nb_active_tcp_sessions", "group_by": ["entity_id"], "aggregate_function": "avg"},
- {"metric": "nb_active_udp_sessions", "unit": "Count", "label": "Active UDP Sessions",
- "color": "default", "size": 6, "chart_type": "line", "y_label": "nb_active_udp_sessions",
- "group_by": ["entity_id"], "aggregate_function": "avg"}, {"metric": "nb_new_sessions_per_second",
+ "line", "y_label": "nb_ingress_tcp_traffic_rate", "description": null, "aggregate_function":
+ "sum"}, {"metric": "nb_egress_tcp_traffic_rate", "unit": "Bps", "label": "Egress
+ TCP Traffic Rate", "color": "default", "size": 6, "chart_type": "line", "y_label":
+ "nb_egress_tcp_traffic_rate", "description": null, "aggregate_function": "sum"},
+ {"metric": "nb_ingress_udp_traffic_rate", "unit": "Bps", "label": "Ingress UDP
+ Traffic Rate", "color": "default", "size": 6, "chart_type": "line", "y_label":
+ "nb_ingress_udp_traffic_rate", "description": null, "aggregate_function": "sum"},
+ {"metric": "nb_egress_udp_traffic_rate", "unit": "Bps", "label": "Egress UDP
+ Traffic Rate", "color": "default", "size": 6, "chart_type": "line", "y_label":
+ "nb_egress_udp_traffic_rate", "description": null, "aggregate_function": "sum"},
+ {"metric": "nb_total_active_sessions", "unit": "Count", "label": "Total Active
+ Sessions", "color": "default", "size": 12, "chart_type": "line", "y_label":
+ "nb_total_active_sessions", "description": null, "aggregate_function": "avg"},
+ {"metric": "nb_active_tcp_sessions", "unit": "Count", "label": "Active TCP Sessions",
+ "color": "default", "size": 6, "chart_type": "line", "y_label": "nb_active_tcp_sessions",
+ "description": null, "aggregate_function": "avg"}, {"metric": "nb_active_udp_sessions",
+ "unit": "Count", "label": "Active UDP Sessions", "color": "default", "size":
+ 6, "chart_type": "line", "y_label": "nb_active_udp_sessions", "description":
+ null, "aggregate_function": "avg"}, {"metric": "nb_new_sessions_per_second",
"unit": "sessions/s", "label": "New Sessions", "color": "default", "size": 12,
- "chart_type": "line", "y_label": "nb_new_sessions_per_second", "group_by": ["entity_id"],
- "aggregate_function": "sum"}, {"metric": "nb_new_tcp_sessions_per_second", "unit":
- "sessions/s", "label": "New TCP Sessions", "color": "default", "size": 6, "chart_type":
- "line", "y_label": "nb_new_tcp_sessions_per_second", "group_by": ["entity_id"],
- "aggregate_function": "sum"}, {"metric": "nb_new_udp_sessions_per_second", "unit":
- "sessions/s", "label": "New UDP Sessions", "color": "default", "size": 6, "chart_type":
- "line", "y_label": "nb_new_udp_sessions_per_second", "group_by": ["entity_id"],
- "aggregate_function": "sum"}, {"metric": "nb_active_tcp_backends", "unit": "Count",
- "label": "Active TCP Backends", "color": "default", "size": 6, "chart_type":
- "line", "y_label": "nb_active_tcp_backends", "group_by": ["entity_id"], "aggregate_function":
+ "chart_type": "line", "y_label": "nb_new_sessions_per_second", "description":
+ null, "aggregate_function": "sum"}, {"metric": "nb_new_tcp_sessions_per_second",
+ "unit": "sessions/s", "label": "New TCP Sessions", "color": "default", "size":
+ 6, "chart_type": "line", "y_label": "nb_new_tcp_sessions_per_second", "description":
+ null, "aggregate_function": "sum"}, {"metric": "nb_new_udp_sessions_per_second",
+ "unit": "sessions/s", "label": "New UDP Sessions", "color": "default", "size":
+ 6, "chart_type": "line", "y_label": "nb_new_udp_sessions_per_second", "description":
+ null, "aggregate_function": "sum"}, {"metric": "nb_active_tcp_backends", "unit":
+ "Count", "label": "Active TCP Backends", "color": "default", "size": 6, "chart_type":
+ "line", "y_label": "nb_active_tcp_backends", "description": null, "aggregate_function":
"avg"}, {"metric": "nb_active_udp_backends", "unit": "Count", "label": "Active
UDP Backends", "color": "default", "size": 6, "chart_type": "line", "y_label":
- "nb_active_udp_backends", "group_by": ["entity_id"], "aggregate_function": "avg"}]},
- {"id": 4, "type": "standard", "service_type": "firewall", "label": "Cloud Firewall
- for Linodes", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "widgets": [{"metric": "fw_active_connections", "unit": "Count", "label": "Current
- Connections", "color": "default", "size": 12, "chart_type": "line", "y_label":
- "fw_active_connections", "group_by": ["entity_id", "linode_id", "interface_id"],
- "aggregate_function": "avg"}, {"metric": "fw_available_connections", "unit":
- "Count", "label": "Available Connections", "color": "default", "size": 12, "chart_type":
- "line", "y_label": "fw_available_connections", "group_by": ["entity_id", "linode_id",
- "interface_id"], "aggregate_function": "avg"}, {"metric": "fw_ingress_packets_accepted",
- "unit": "packets/s", "label": "Ingress Packets Accepted", "color": "default",
- "size": 12, "chart_type": "line", "y_label": "fw_ingress_packets_accepted",
- "group_by": ["entity_id", "linode_id", "interface_id"], "aggregate_function":
- "sum"}, {"metric": "fw_egress_packets_accepted", "unit": "packets/s", "label":
- "Egress Packets Accepted", "color": "default", "size": 12, "chart_type": "line",
- "y_label": "fw_egress_packets_accepted", "group_by": ["entity_id", "linode_id",
- "interface_id"], "aggregate_function": "sum"}, {"metric": "fw_ingress_bytes_accepted",
- "unit": "Bps", "label": "Ingress Bytes Accepted", "color": "default", "size":
- 12, "chart_type": "line", "y_label": "fw_ingress_bytes_accepted", "group_by":
- ["entity_id", "linode_id", "interface_id"], "aggregate_function": "sum"}, {"metric":
- "fw_egress_bytes_accepted", "unit": "Bps", "label": "Egress Bytes Accepted",
- "color": "default", "size": 12, "chart_type": "line", "y_label": "fw_egress_bytes_accepted",
- "group_by": ["entity_id", "linode_id", "interface_id"], "aggregate_function":
- "sum"}, {"metric": "fw_ingress_packets_dropped", "unit": "packets/s", "label":
- "Ingress Packets Dropped", "color": "default", "size": 12, "chart_type": "line",
- "y_label": "fw_ingress_packets_dropped", "group_by": ["entity_id", "linode_id",
- "interface_id"], "aggregate_function": "sum"}, {"metric": "fw_egress_packets_dropped",
- "unit": "packets/s", "label": "Egress Packets Dropped", "color": "default",
- "size": 12, "chart_type": "line", "y_label": "fw_egress_packets_dropped", "group_by":
- ["entity_id", "linode_id", "interface_id"], "aggregate_function": "sum"}, {"metric":
- "fw_packets_dropped_connection_table_full", "unit": "packets/s", "label": "Packets
- Dropped Connection Table Full", "color": "default", "size": 12, "chart_type":
- "line", "y_label": "fw_packets_dropped_connection_table_full", "group_by": ["entity_id",
- "linode_id", "interface_id"], "aggregate_function": "sum"}]}], "page": 1, "pages":
- 1, "results": 4}'
+ "nb_active_udp_backends", "description": null, "aggregate_function": "avg"}]},
+ {"id": 6, "type": "standard", "service_type": "objectstorage", "label": "Bucket
+ Activity", "group_by": ["entity_id"], "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05", "widgets": [{"metric": "obj_bucket_size", "unit": "Bytes",
+ "label": "Content Stored", "color": "default", "size": 6, "chart_type": "line",
+ "y_label": "obj_bucket_size", "description": null, "aggregate_function": "sum"},
+ {"metric": "obj_bucket_num_objects", "unit": "Count", "label": "Number of Objects",
+ "color": "default", "size": 6, "chart_type": "line", "y_label": "obj_bucket_num_objects",
+ "description": null, "aggregate_function": "sum"}, {"metric": "obj_requests_rps",
+ "unit": "Count", "label": "Requests per second", "color": "default", "size":
+ 6, "chart_type": "line", "y_label": "obj_requests_rps", "group_by": ["request_type"],
+ "description": null, "aggregate_function": "sum"}, {"metric": "obj_ttfb_average",
+ "unit": "ms", "label": "Average Time To First Byte (TTFB)", "color": "default",
+ "size": 6, "chart_type": "line", "y_label": "obj_ttfb_average", "description":
+ null, "aggregate_function": "avg"}, {"metric": "obj_egress_throughput", "unit":
+ "Bps", "label": "Egress Throughput", "color": "default", "size": 6, "chart_type":
+ "line", "y_label": "obj_egress_throughput", "description": null, "aggregate_function":
+ "sum"}, {"metric": "obj_ingress_throughput", "unit": "Bps", "label": "Ingress
+ Throughput", "color": "default", "size": 6, "chart_type": "line", "y_label":
+ "obj_ingress_throughput", "description": null, "aggregate_function": "sum"},
+ {"metric": "obj_bytes_downloaded", "unit": "Bytes", "label": "Bytes downloaded",
+ "color": "default", "size": 6, "chart_type": "line", "y_label": "obj_bytes_downloaded",
+ "description": null, "aggregate_function": "sum"}, {"metric": "obj_bytes_uploaded",
+ "unit": "Bytes", "label": "Bytes uploaded", "color": "default", "size": 6, "chart_type":
+ "line", "y_label": "obj_bytes_uploaded", "description": null, "aggregate_function":
+ "sum"}, {"metric": "obj_requests_num", "unit": "Count", "label": "Total Requests",
+ "color": "default", "size": 6, "chart_type": "line", "y_label": "obj_requests_num",
+ "group_by": ["request_type"], "description": null, "aggregate_function": "sum"},
+ {"metric": "obj_responses_num", "unit": "Count", "label": "Total Responses",
+ "color": "default", "size": 6, "chart_type": "line", "y_label": "obj_responses_num",
+ "group_by": ["response_type"], "description": null, "aggregate_function": "sum"}]},
+ {"id": 10, "type": "standard", "service_type": "objectstorage", "label": "Endpoint
+ Activity", "group_by": ["endpoint"], "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05", "widgets": [{"metric": "obj_bucket_size", "unit": "Bytes",
+ "label": "Content Stored", "color": "default", "size": 6, "chart_type": "line",
+ "y_label": "obj_bucket_size", "description": null, "aggregate_function": "sum"},
+ {"metric": "obj_bucket_num_objects", "unit": "Count", "label": "Number Of Objects",
+ "color": "default", "size": 6, "chart_type": "line", "y_label": "obj_bucket_num_objects",
+ "description": null, "aggregate_function": "sum"}, {"metric": "obj_requests_rps",
+ "unit": "Count", "label": "Requests per second", "color": "default", "size":
+ 6, "chart_type": "line", "y_label": "obj_requests_rps", "group_by": ["request_type"],
+ "description": null, "aggregate_function": "sum"}, {"metric": "obj_ttfb_average",
+ "unit": "ms", "label": "Average Time To First Byte (TTFB)", "color": "default",
+ "size": 6, "chart_type": "line", "y_label": "obj_ttfb_average", "description":
+ null, "aggregate_function": "avg"}, {"metric": "obj_egress_throughput", "unit":
+ "Bps", "label": "Egress Throughput ", "color": "default", "size": 6, "chart_type":
+ "line", "y_label": "obj_egress_throughput", "description": null, "aggregate_function":
+ "sum"}, {"metric": "obj_ingress_throughput", "unit": "Bps", "label": "Ingress
+ Throughput", "color": "default", "size": 6, "chart_type": "line", "y_label":
+ "obj_ingress_throughput", "description": null, "aggregate_function": "sum"},
+ {"metric": "obj_bytes_downloaded", "unit": "Bytes", "label": "Bytes Downloaded",
+ "color": "default", "size": 6, "chart_type": "line", "y_label": "obj_bytes_downloaded",
+ "description": null, "aggregate_function": "sum"}, {"metric": "obj_bytes_uploaded",
+ "unit": "Bytes", "label": "Bytes Uploaded", "color": "default", "size": 6, "chart_type":
+ "line", "y_label": "obj_bytes_uploaded", "description": null, "aggregate_function":
+ "sum"}, {"metric": "obj_requests_num", "unit": "Count", "label": "Total Requests",
+ "color": "default", "size": 6, "chart_type": "line", "y_label": "obj_requests_num",
+ "group_by": ["request_type"], "description": null, "aggregate_function": "sum"},
+ {"metric": "obj_responses_num", "unit": "Count", "label": "Total Responses",
+ "color": "default", "size": 6, "chart_type": "line", "y_label": "obj_responses_num",
+ "group_by": ["response_type"], "description": null, "aggregate_function": "sum"}]},
+ {"id": 11, "type": "standard", "service_type": "logs", "label": "Log Delivery
+ Status", "group_by": ["entity_id"], "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05", "widgets": [{"metric": "success_upload_count", "unit":
+ "Count", "label": "Successful Uploads", "color": "default", "size": 6, "chart_type":
+ "area", "y_label": "success_upload_count", "description": null, "aggregate_function":
+ "sum"}, {"metric": "error_upload_count", "unit": "Count", "label": "Failed Uploads",
+ "color": "default", "size": 6, "chart_type": "area", "y_label": "error_upload_count",
+ "description": null, "aggregate_function": "sum"}, {"metric": "error_upload_rate",
+ "unit": "%", "label": "Error Rate", "color": "default", "size": 12, "chart_type":
+ "area", "y_label": "error_upload_rate", "description": null, "aggregate_function":
+ "avg"}]}], "page": 1, "pages": 1, "results": 6}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -148,7 +185,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 25 Aug 2025 11:12:26 GMT
+ - Wed, 03 Jun 2026 09:48:55 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -165,10 +202,7 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_only databases:read_only domains:read_only events:read_only firewall:read_only
- images:read_only ips:read_only linodes:read_only lke:read_only longview:read_only
- monitor:read_only nodebalancers:read_only object_storage:read_only stackscripts:read_only
- volumes:read_only
+ - '*'
X-Ratelimit-Limit:
- "1840"
X-Xss-Protection:
@@ -190,25 +224,25 @@ interactions:
method: GET
response:
body: '{"id": 1, "type": "standard", "service_type": "dbaas", "label": "Resource
- Usage", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "widgets": [{"metric": "cpu_usage", "unit": "%", "label": "CPU Usage", "color":
- "default", "size": 12, "chart_type": "area", "y_label": "cpu_usage", "group_by":
- ["entity_id"], "aggregate_function": "avg"}, {"metric": "memory_usage", "unit":
- "%", "label": "Memory Usage", "color": "default", "size": 6, "chart_type": "area",
- "y_label": "memory_usage", "group_by": ["entity_id"], "aggregate_function":
+ Usage", "group_by": ["entity_id"], "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05", "widgets": [{"metric": "cpu_usage", "unit": "%", "label":
+ "CPU Usage", "color": "default", "size": 12, "chart_type": "area", "y_label":
+ "cpu_usage", "description": null, "aggregate_function": "avg"}, {"metric": "memory_usage",
+ "unit": "%", "label": "Memory Usage", "color": "default", "size": 6, "chart_type":
+ "area", "y_label": "memory_usage", "description": null, "aggregate_function":
"avg"}, {"metric": "available_memory", "unit": "GB", "label": "Available Memory",
"color": "default", "size": 6, "chart_type": "area", "y_label": "available_memory",
- "group_by": ["entity_id"], "aggregate_function": "avg"}, {"metric": "disk_usage",
+ "description": null, "aggregate_function": "avg"}, {"metric": "disk_usage",
"unit": "%", "label": "Disk Space Usage", "color": "default", "size": 6, "chart_type":
- "area", "y_label": "disk_usage", "group_by": ["entity_id"], "aggregate_function":
+ "area", "y_label": "disk_usage", "description": null, "aggregate_function":
"avg"}, {"metric": "available_disk", "unit": "GB", "label": "Available Disk
Space", "color": "default", "size": 6, "chart_type": "area", "y_label": "available_disk",
- "group_by": ["entity_id"], "aggregate_function": "avg"}, {"metric": "read_iops",
- "unit": "IOPS", "label": "Disk I/O Read", "color": "default", "size": 6, "chart_type":
- "area", "y_label": "read_iops", "group_by": ["entity_id"], "aggregate_function":
- "avg"}, {"metric": "write_iops", "unit": "IOPS", "label": "Disk I/O Write",
- "color": "default", "size": 6, "chart_type": "area", "y_label": "write_iops",
- "group_by": ["entity_id"], "aggregate_function": "avg"}]}'
+ "description": null, "aggregate_function": "avg"}, {"metric": "read_iops", "unit":
+ "IOPS", "label": "Disk I/O Read", "color": "default", "size": 6, "chart_type":
+ "area", "y_label": "read_iops", "description": null, "aggregate_function": "avg"},
+ {"metric": "write_iops", "unit": "IOPS", "label": "Disk I/O Write", "color":
+ "default", "size": 6, "chart_type": "area", "y_label": "write_iops", "description":
+ null, "aggregate_function": "avg"}]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -231,7 +265,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 25 Aug 2025 11:12:27 GMT
+ - Wed, 03 Jun 2026 09:48:56 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -248,10 +282,7 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_only databases:read_only domains:read_only events:read_only firewall:read_only
- images:read_only ips:read_only linodes:read_only lke:read_only longview:read_only
- monitor:read_only nodebalancers:read_only object_storage:read_only stackscripts:read_only
- volumes:read_only
+ - '*'
X-Ratelimit-Limit:
- "1840"
X-Xss-Protection:
@@ -273,26 +304,25 @@ interactions:
method: GET
response:
body: '{"data": [{"id": 1, "type": "standard", "service_type": "dbaas", "label":
- "Resource Usage", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "widgets": [{"metric": "cpu_usage", "unit": "%", "label": "CPU Usage", "color":
- "default", "size": 12, "chart_type": "area", "y_label": "cpu_usage", "group_by":
- ["entity_id"], "aggregate_function": "avg"}, {"metric": "memory_usage", "unit":
- "%", "label": "Memory Usage", "color": "default", "size": 6, "chart_type": "area",
- "y_label": "memory_usage", "group_by": ["entity_id"], "aggregate_function":
+ "Resource Usage", "group_by": ["entity_id"], "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "widgets": [{"metric": "cpu_usage", "unit":
+ "%", "label": "CPU Usage", "color": "default", "size": 12, "chart_type": "area",
+ "y_label": "cpu_usage", "description": null, "aggregate_function": "avg"}, {"metric":
+ "memory_usage", "unit": "%", "label": "Memory Usage", "color": "default", "size":
+ 6, "chart_type": "area", "y_label": "memory_usage", "description": null, "aggregate_function":
"avg"}, {"metric": "available_memory", "unit": "GB", "label": "Available Memory",
"color": "default", "size": 6, "chart_type": "area", "y_label": "available_memory",
- "group_by": ["entity_id"], "aggregate_function": "avg"}, {"metric": "disk_usage",
+ "description": null, "aggregate_function": "avg"}, {"metric": "disk_usage",
"unit": "%", "label": "Disk Space Usage", "color": "default", "size": 6, "chart_type":
- "area", "y_label": "disk_usage", "group_by": ["entity_id"], "aggregate_function":
+ "area", "y_label": "disk_usage", "description": null, "aggregate_function":
"avg"}, {"metric": "available_disk", "unit": "GB", "label": "Available Disk
Space", "color": "default", "size": 6, "chart_type": "area", "y_label": "available_disk",
- "group_by": ["entity_id"], "aggregate_function": "avg"}, {"metric": "read_iops",
- "unit": "IOPS", "label": "Disk I/O Read", "color": "default", "size": 6, "chart_type":
- "area", "y_label": "read_iops", "group_by": ["entity_id"], "aggregate_function":
- "avg"}, {"metric": "write_iops", "unit": "IOPS", "label": "Disk I/O Write",
- "color": "default", "size": 6, "chart_type": "area", "y_label": "write_iops",
- "group_by": ["entity_id"], "aggregate_function": "avg"}]}], "page": 1, "pages":
- 1, "results": 1}'
+ "description": null, "aggregate_function": "avg"}, {"metric": "read_iops", "unit":
+ "IOPS", "label": "Disk I/O Read", "color": "default", "size": 6, "chart_type":
+ "area", "y_label": "read_iops", "description": null, "aggregate_function": "avg"},
+ {"metric": "write_iops", "unit": "IOPS", "label": "Disk I/O Write", "color":
+ "default", "size": 6, "chart_type": "area", "y_label": "write_iops", "description":
+ null, "aggregate_function": "avg"}]}], "page": 1, "pages": 1, "results": 1}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -315,7 +345,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 25 Aug 2025 11:12:27 GMT
+ - Wed, 03 Jun 2026 09:48:57 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -332,10 +362,7 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_only databases:read_only domains:read_only events:read_only firewall:read_only
- images:read_only ips:read_only linodes:read_only lke:read_only longview:read_only
- monitor:read_only nodebalancers:read_only object_storage:read_only stackscripts:read_only
- volumes:read_only
+ - '*'
X-Ratelimit-Limit:
- "1840"
X-Xss-Protection:
diff --git a/test/integration/fixtures/TestObjectStorageBucketCert.yaml b/test/integration/fixtures/TestObjectStorageBucketCert.yaml
index 4f2026682..961169eb8 100644
--- a/test/integration/fixtures/TestObjectStorageBucketCert.yaml
+++ b/test/integration/fixtures/TestObjectStorageBucketCert.yaml
@@ -14,25 +14,33 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/endpoints?page=1
method: GET
response:
- body: '{"pages": 1, "page": 1, "results": 18, "data": [{"region": "fr-par", "endpoint_type":
- "E1", "s3_endpoint": "fr-par-1.linodeobjects.com"}, {"region": "ap-south", "endpoint_type":
- "E0", "s3_endpoint": "ap-south-1.linodeobjects.com"}, {"region": "us-sea", "endpoint_type":
- "E1", "s3_endpoint": "us-sea-1.linodeobjects.com"}, {"region": "us-east", "endpoint_type":
- "E0", "s3_endpoint": "us-east-1.linodeobjects.com"}, {"region": "us-southeast",
+ body: '{"data": [{"region": "ap-south", "endpoint_type": "E0", "s3_endpoint":
+ "ap-south-1.linodeobjects.com"}, {"region": "us-iad", "endpoint_type": "E1",
+ "s3_endpoint": "us-iad-1.linodeobjects.com"}, {"region": "fr-par", "endpoint_type":
+ "E1", "s3_endpoint": "fr-par-1.linodeobjects.com"}, {"region": "us-southeast",
"endpoint_type": "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com"}, {"region":
- "jp-osa", "endpoint_type": "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com"},
- {"region": "br-gru", "endpoint_type": "E1", "s3_endpoint": "br-gru-1.linodeobjects.com"},
- {"region": "us-ord", "endpoint_type": "E1", "s3_endpoint": "us-ord-1.linodeobjects.com"},
- {"region": "us-iad", "endpoint_type": "E1", "s3_endpoint": "us-iad-1.linodeobjects.com"},
- {"region": "se-sto", "endpoint_type": "E1", "s3_endpoint": "se-sto-1.linodeobjects.com"},
- {"region": "it-mil", "endpoint_type": "E1", "s3_endpoint": "it-mil-1.linodeobjects.com"},
+ "br-gru", "endpoint_type": "E1", "s3_endpoint": "br-gru-1.linodeobjects.com"},
+ {"region": "au-mel", "endpoint_type": "E2", "s3_endpoint": "au-mel-1.linodeobjects.com"},
+ {"region": "in-maa", "endpoint_type": "E1", "s3_endpoint": "in-maa-1.linodeobjects.com"},
+ {"region": "us-sea", "endpoint_type": "E1", "s3_endpoint": "us-sea-1.linodeobjects.com"},
+ {"region": "de-fra-2", "endpoint_type": "E3", "s3_endpoint": "de-fra-1.linodeobjects.com"},
+ {"region": "us-lax", "endpoint_type": "E3", "s3_endpoint": "us-lax-4.linodeobjects.com"},
{"region": "us-lax", "endpoint_type": "E1", "s3_endpoint": "us-lax-1.linodeobjects.com"},
- {"region": "nl-ams", "endpoint_type": "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com"},
+ {"region": "it-mil", "endpoint_type": "E1", "s3_endpoint": "it-mil-1.linodeobjects.com"},
{"region": "us-mia", "endpoint_type": "E1", "s3_endpoint": "us-mia-1.linodeobjects.com"},
+ {"region": "se-sto", "endpoint_type": "E1", "s3_endpoint": "se-sto-1.linodeobjects.com"},
+ {"region": "id-cgk", "endpoint_type": "E1", "s3_endpoint": "id-cgk-1.linodeobjects.com"},
{"region": "eu-central", "endpoint_type": "E0", "s3_endpoint": "eu-central-1.linodeobjects.com"},
- {"region": "in-maa", "endpoint_type": "E1", "s3_endpoint": "in-maa-1.linodeobjects.com"},
+ {"region": "gb-lon", "endpoint_type": "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"},
+ {"region": "nl-ams", "endpoint_type": "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com"},
{"region": "es-mad", "endpoint_type": "E1", "s3_endpoint": "es-mad-1.linodeobjects.com"},
- {"region": "id-cgk", "endpoint_type": "E1", "s3_endpoint": "id-cgk-1.linodeobjects.com"}]}'
+ {"region": "jp-osa", "endpoint_type": "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com"},
+ {"region": "us-east", "endpoint_type": "E0", "s3_endpoint": "us-east-1.linodeobjects.com"},
+ {"region": "sg-sin-2", "endpoint_type": "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com"},
+ {"region": "jp-tyo-3", "endpoint_type": "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com"},
+ {"region": "us-ord", "endpoint_type": "E1", "s3_endpoint": "us-ord-1.linodeobjects.com"},
+ {"region": "us-ord", "endpoint_type": "E3", "s3_endpoint": "us-ord-10.linodeobjects.com"}],
+ "page": 1, "pages": 1, "results": 25}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -55,7 +63,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:13:19 GMT
+ - Thu, 30 Apr 2026 20:17:48 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -74,14 +82,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"region":"fr-par","label":"linode-obj-bucket-cert-test.xyz","endpoint_type":"E1"}'
+ body: '{"region":"us-iad","label":"linode-obj-bucket-cert-test.xyz","endpoint_type":"E1"}'
form: {}
headers:
Accept:
@@ -93,10 +101,10 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/buckets
method: POST
response:
- body: '{"hostname": "linode-obj-bucket-cert-test.xyz.fr-par-1.linodeobjects.com",
+ body: '{"hostname": "linode-obj-bucket-cert-test.xyz.us-iad-1.linodeobjects.com",
"label": "linode-obj-bucket-cert-test.xyz", "created": "2018-01-02T03:04:05",
- "region": "fr-par", "cluster": "fr-par-1", "size": 0, "objects": 0, "endpoint_type":
- "E1", "s3_endpoint": "fr-par-1.linodeobjects.com"}'
+ "region": "us-iad", "cluster": "us-iad-1", "size": 0, "objects": 0, "endpoint_type":
+ "E1", "s3_endpoint": "us-iad-1.linodeobjects.com"}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -121,7 +129,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:13:22 GMT
+ - Thu, 30 Apr 2026 20:17:50 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -138,7 +146,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -156,7 +164,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/fr-par/linode-obj-bucket-cert-test.xyz/ssl
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-iad/linode-obj-bucket-cert-test.xyz/ssl
method: POST
response:
body: '{"ssl": true}'
@@ -184,68 +192,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:13:24 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - object_storage:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/fr-par/linode-obj-bucket-cert-test.xyz/ssl
- method: DELETE
- response:
- body: '{}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "2"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 08 Jan 2025 07:13:26 GMT
+ - Thu, 30 Apr 2026 20:17:51 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -262,132 +209,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: '{"certificate":"-----BEGIN CERTIFICATE-----\nMIIF3DCCA8QCCQC0dUFu1HvjazANBgkqhkiG9w0BAQsFADCBrzELMAkGA1UEBhMC\nVVMxCzAJBgNVBAgMAlBBMRUwEwYDVQQHDAxQaGlsYWRlbHBoaWExDzANBgNVBAoM\nBkxpbm9kZTELMAkGA1UECwwCRFgxKDAmBgNVBAMMH2xpbm9kZS1vYmotYnVja2V0\nLWNlcnQtdGVzdC54eXoxNDAyBgkqhkiG9w0BCQEWJWFkbWluQGxpbm9kZS1vYmot\nYnVja2V0LWNlcnQtdGVzdC54eXowHhcNMjAxMDA1MTg0MDUyWhcNMjExMDA1MTg0\nMDUyWjCBrzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlBBMRUwEwYDVQQHDAxQaGls\nYWRlbHBoaWExDzANBgNVBAoMBkxpbm9kZTELMAkGA1UECwwCRFgxKDAmBgNVBAMM\nH2xpbm9kZS1vYmotYnVja2V0LWNlcnQtdGVzdC54eXoxNDAyBgkqhkiG9w0BCQEW\nJWFkbWluQGxpbm9kZS1vYmotYnVja2V0LWNlcnQtdGVzdC54eXowggIiMA0GCSqG\nSIb3DQEBAQUAA4ICDwAwggIKAoICAQCy4LqfRYXE314e6YkpR1BbKPH8ohO4lcMt\n+YzMUNlOC1KUktGjX8pWk4wAXYar7Mxccmbbh68pgE8iSio8V97CdQb8O64OQmre\n/y33z7Yts37/6mH5mBnfeiilVHOenQmh+4400tvF1jljU8MZSg6sLM4ZEBhfcT0V\n3yqxAwwzV8vk0t7uLRCMuDI5B4h4ZCsheCkA2roF4RGUG6KwGzf+dLSKzBcjy5ho\nh4huzp5jDYer7S86dV6/9Gwzh8CPhVaixbymHGoMbJM8lUtc/hFI+J8WVh/qLTKQ\nCcqvoZ96QU0LX2ib+ElvCMGl/UrznpHZUrGkLPfnnoxK/vKBNycJsENtWno9KgtN\nfsdmYy/blxNRW/qpi+l92f3zbjjpRqJ/oyA+hsSMn19O/v3O4wz+YS55xnVeEPIf\nfOq6VJ9BfVdXPPRp33sllM8EVWuS4ry3oJKI1CFTlhV7eU1RpJmbc5X8GhytiD2M\ngIrVlYzJTftSHw7J3v0orRD6SxI9enXI4o4pS1MMxRNb+ZQDvwx3ZujxjFXe3+qI\nkme3ih+Vl9W9rDeKAd95ciII9CxBqOvsso8zqDAEV25fn3tutk/7hQNMqv0APAah\nLo/eY1NK9i9YVJknVSzWBkE2MUyvpfFhiw6TPYh88qH+wN3CznWaCtXiAjH3kbOk\n6y2OmI8+4QIDAQABMA0GCSqGSIb3DQEBCwUAA4ICAQCP2UawP8GDWxyMOsHDPqKp\nPtedCxPpEPsQm8KMnt5KJ55NFqTcpARz1miHXT1aBedu9IoqxvTP4g8BQ4QFjP2s\nddNu2WKqnwyzkCtnB2zOrOKlvUtRAZ4x2iyhKNqls6D7I4tw22HMbTzW2TVeuGVa\noiRtawFcUsjSAcarRw6swLTln+BK54dWa9E5hiulBoHLosMWCEyUDrUnaiB+2+7C\nbsExYZTXRlii7YPSr46zPmte2iKa1+b0g5DXkzSazWp+R/dlGYp84uLWk71e4b/9\nSo1pIitPasCJHgO/ii9nIcmDXarkaGT5CEUP8WPp6mLY5W9NxgF2czdz6AMJa3P9\n2jNd4J1VFl8k+LDZ4GnwHGhyL3h3lFUmmoQV/0YVoXmA59SxE2JPvc2d1V6xh2gz\nyg2M+xcKliSXxshhAopsSSoEp5g3II2mCvzeSxwsXa4Ob5c5TJNdXslm1pugRCbB\ntjFNh70wZmCq+jY8C+vGsDwkf/5UeAd+c+14s3bwsBfWqZBGokVxyf/UWHtsWlVn\np3USWBwLxEWyQIioMmj4O6wROZeyePDlFDVky4hzTCrTS6EFIqkGBs5RneCHhTN0\ngNHFG8Ixql6mybJAwopvWGEL+7E4pbNdbhmgVvf2YEQuMZBCM7fGdBsRNkTs6jIA\n/8soO6buQgQoCq3GFbodZA==\n-----END
- CERTIFICATE-----\n","private_key":"-----BEGIN PRIVATE KEY-----\nMIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQCy4LqfRYXE314e\n6YkpR1BbKPH8ohO4lcMt+YzMUNlOC1KUktGjX8pWk4wAXYar7Mxccmbbh68pgE8i\nSio8V97CdQb8O64OQmre/y33z7Yts37/6mH5mBnfeiilVHOenQmh+4400tvF1jlj\nU8MZSg6sLM4ZEBhfcT0V3yqxAwwzV8vk0t7uLRCMuDI5B4h4ZCsheCkA2roF4RGU\nG6KwGzf+dLSKzBcjy5hoh4huzp5jDYer7S86dV6/9Gwzh8CPhVaixbymHGoMbJM8\nlUtc/hFI+J8WVh/qLTKQCcqvoZ96QU0LX2ib+ElvCMGl/UrznpHZUrGkLPfnnoxK\n/vKBNycJsENtWno9KgtNfsdmYy/blxNRW/qpi+l92f3zbjjpRqJ/oyA+hsSMn19O\n/v3O4wz+YS55xnVeEPIffOq6VJ9BfVdXPPRp33sllM8EVWuS4ry3oJKI1CFTlhV7\neU1RpJmbc5X8GhytiD2MgIrVlYzJTftSHw7J3v0orRD6SxI9enXI4o4pS1MMxRNb\n+ZQDvwx3ZujxjFXe3+qIkme3ih+Vl9W9rDeKAd95ciII9CxBqOvsso8zqDAEV25f\nn3tutk/7hQNMqv0APAahLo/eY1NK9i9YVJknVSzWBkE2MUyvpfFhiw6TPYh88qH+\nwN3CznWaCtXiAjH3kbOk6y2OmI8+4QIDAQABAoICAElFboxhMPtEt8wXwzxqXssI\niZ7/UO6yQeHqL7ddgrXKQ4hiX4b5bOtrwtQ/ezOfatKPdfyEpsZsLX4RPR28rJ2g\nzDyzwYdLw3UWt+Cjb69msCXp/zn7CNYWtuGKJ1YYY2K7pTOUD7wJFTbPj8IjKMF0\nFPQFOMaXnvr/kAA0DGJXm0he7DxJr1bE+KWNpWQTO+uYycr0zXAtEkNF0q0qaRRM\n/8s+8FeURRjEM6mX7x8J4sIVBNyASVB9sXimKcVgS+2e67hrOTFfpCwTx2wPEkt+\ns8O1gZst6mE/8Ythu+6bIxD+gt4opQPbZV810ubZ1Epd6jAiz2VL95Gcvv8Y9V7+\nEGfqeeiHqQkIkhSNO6Aqui/QBHEIuXlDvh6/Q23ln/AeniHFktYASK2WtbtzXON5\n3yL0d8S5ndCLYMch1uv1V+JQ67Y5JJYTAh+fev7uyZy7qLGnAjUoRnwRofwgig6a\nlKOf9aMlLJnIJSHlyzqni5wnVdO1y/RGMsE/BdJ15+F9LGYm/sy56VPsjU9rELIa\n9UGLAWNiEZQDQLgApZl8rawXVlANwW/iesxgAh4eZlaFXvaGtK72KcETBfn+jt8m\n2/LUbh4BL2O4F2OJ2F8+DET6JGDrNDBkcsSxYmtgtRpJjrV76MvjSli8uRAlaEd7\nR3n3ztdOEX25VeFExsdFAoIBAQDhFInwMNTY+phF57o/R6FNyLHQGkNz2w4pYXkR\nA6C4wgBDfwk/S/Sub16w4H6sr0C7MDw7t2cpmMhe+BG4V4a5sX+AjSSdMFBS/pgI\nuFgeJGBG1evyvp+8SycH7oojf106UH6gERpHmW0WMDf1r8Nueriw9DOKKqL1sJtx\nw/Diq2/8z2m5ESxL6SrEzagHmjliaNwBpwUlh5P2EMQzNTljE1fnEKl2E6LW35o0\nx4zoi3y57HtKcLNtD/GsvRYU8zjHDkDq2tUXwzxCVWmiTs3+NQVTEscJAgAahvbu\nJZ7hEXzmCR6sjoQIWCHc9Wusf/zt2XNiXYIKUJAQxv9sOgabAoIBAQDLc2Cxlz36\n3KcOGkfpWl9cGmS0t8FCOvOVV++7eNiWv0kKVdbwqqJYExmX4jmv2E1LfQ4G1vAh\nGtG7YN0rEzwLWiqd/frNLgMya7lYuCpWzxCNDoHIAtBvjPhyHRFFhLayxSsxRZLT\nPnKo2u9NjhPpm7RD+4b9uy++61jkDXK//ezI47oJWxCOxfyzaeejV8Iu9jHwKJ1o\nNpebAdPnlXU3itxaXvJIZiguHtNioTs1E6Ik433AC3Tb57Xy57lGXnOORm5Ximel\naJsB9dsh9rKsNScp+9VSD0ef7Cr8oZH0gOI+pmNnnXt+cOxH9Du4lvBql59QR9FY\nMbbigpvtJ6ozAoIBAG588ZV5sxJsOVGfhhrII9OWIEtCiTgXISWJFrAWctAfU5fO\nhZCPzaXPP9Fd8nD8eq8o53h8+GQ//qQ37CLsvFLtYeSN5JpQ/C0xkxo8u+zX+Hbt\nTizUDH+W+Kr5GtCAFhipKO+UVa0uEJGiy+WMCUhzb7RVu/MoKOSodDXtdJMgixG0\nE3boijEdXYRMXB6XQ3IefVlGTs10d1qEMnvctbX/6degoz82Nmp6Sy17g50n0+tE\nveT12+4+tGkSTQOtvYJhadaf45kNmsgJO5iUTKRsDJgSEKhIVhqvhAm1Z/+d4Qzf\nDzKvpvqdoMnho6CDF3r+kpiHxG0hzQafWQUcmt8CggEARD1461hNY71rEyHhiPXV\nEnGP4cXYvrxDQ45xTLJmA3o5p4vPQn4ZYe1WIkmxC7hDhNR3RfgGJzR1sKH2zSHw\ne+ZMcR3lZ7jNPbZAPu/W07M0W/vHsCyxeRkRpET3rBetqBzWNfqeGtjRYK2+oobL\nSwn81uihCK4mf6U09ZlFKfyj1WX82nJ/BUSHVC5rkbA348SUT3dwBKp7A3UDfKP2\n4yBidLVwErShOYcBZA2sbEsfkbv0S9wL4E7CCq2KyX2YyNn63MYBqcuCYo/yZlv2\n5igV8NEVZibV4WA3svEGoboxKM5qfTCnYWvC9QeImIuYLEibGTRdlXVnYGZqoosx\nXQKCAQEAmEbm8o37QaSMWYu/hixusHWprPRpEcz8qMmpenCTUeE7xgKeJupSx/2u\ns5WSGJy7U6jlmocMOsZ3/nPWNG219uWMUWz2REKi99KOHU7dT8N0OPigNzDBJFKe\nuJpHU2wWkg9CJtkDlQt+4/JP3gzskwpooRvUaEbsQkM0G/A1SMVSyYPuzBui3+E7\nHMuBpZsWkNKLh0hjC5i7YBZYtXGYPG2JCEE4mpiV8ClxTvmijsr8sYUOtnmIBXfG\n0fcsLA4W7xYCUqr74LA1dMQd6f8T00mZycR5eh0wXJ68i5QEotBTGS8ibTilUJbx\n7aJXvW2Q3oCt1sF576QNr9rLxhHl8A==\n-----END
- PRIVATE KEY-----\n"}'
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/fr-par/linode-obj-bucket-cert-test.xyz/ssl
- method: POST
- response:
- body: '{"ssl": true}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "13"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 08 Jan 2025 07:13:29 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - object_storage:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/fr-par/linode-obj-bucket-cert-test.xyz/ssl
- method: GET
- response:
- body: '{"ssl": true}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "13"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 08 Jan 2025 07:13:31 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - object_storage:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -403,7 +225,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/fr-par/linode-obj-bucket-cert-test.xyz/ssl
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-iad/linode-obj-bucket-cert-test.xyz/ssl
method: GET
response:
body: '{"ssl": true}'
@@ -431,7 +253,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:13:33 GMT
+ - Thu, 30 Apr 2026 20:17:52 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -449,7 +271,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -465,7 +287,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/fr-par/linode-obj-bucket-cert-test.xyz/ssl
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-iad/linode-obj-bucket-cert-test.xyz/ssl
method: DELETE
response:
body: '{}'
@@ -493,7 +315,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:13:34 GMT
+ - Thu, 30 Apr 2026 20:17:53 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -510,7 +332,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -526,7 +348,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/fr-par/linode-obj-bucket-cert-test.xyz
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-iad/linode-obj-bucket-cert-test.xyz
method: DELETE
response:
body: '{}'
@@ -554,7 +376,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:13:38 GMT
+ - Thu, 30 Apr 2026 20:17:56 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -571,7 +393,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageBucket_Access_Get.yaml b/test/integration/fixtures/TestObjectStorageBucket_Access_Get.yaml
index 074365933..01278ccfe 100644
--- a/test/integration/fixtures/TestObjectStorageBucket_Access_Get.yaml
+++ b/test/integration/fixtures/TestObjectStorageBucket_Access_Get.yaml
@@ -14,25 +14,32 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/endpoints?page=1
method: GET
response:
- body: '{"pages": 1, "page": 1, "results": 18, "data": [{"region": "us-iad", "endpoint_type":
- "E1", "s3_endpoint": "us-iad-1.linodeobjects.com"}, {"region": "in-maa", "endpoint_type":
- "E1", "s3_endpoint": "in-maa-1.linodeobjects.com"}, {"region": "us-east", "endpoint_type":
- "E0", "s3_endpoint": "us-east-1.linodeobjects.com"}, {"region": "eu-central",
- "endpoint_type": "E0", "s3_endpoint": "eu-central-1.linodeobjects.com"}, {"region":
- "us-mia", "endpoint_type": "E1", "s3_endpoint": "us-mia-1.linodeobjects.com"},
- {"region": "br-gru", "endpoint_type": "E1", "s3_endpoint": "br-gru-1.linodeobjects.com"},
- {"region": "fr-par", "endpoint_type": "E1", "s3_endpoint": "fr-par-1.linodeobjects.com"},
- {"region": "nl-ams", "endpoint_type": "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com"},
- {"region": "se-sto", "endpoint_type": "E1", "s3_endpoint": "se-sto-1.linodeobjects.com"},
- {"region": "us-sea", "endpoint_type": "E1", "s3_endpoint": "us-sea-1.linodeobjects.com"},
- {"region": "jp-osa", "endpoint_type": "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com"},
- {"region": "ap-south", "endpoint_type": "E0", "s3_endpoint": "ap-south-1.linodeobjects.com"},
- {"region": "us-ord", "endpoint_type": "E1", "s3_endpoint": "us-ord-1.linodeobjects.com"},
+ body: '{"data": [{"region": "se-sto", "endpoint_type": "E1", "s3_endpoint": "se-sto-1.linodeobjects.com"},
+ {"region": "sg-sin-2", "endpoint_type": "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com"},
+ {"region": "us-southeast", "endpoint_type": "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com"},
+ {"region": "in-maa", "endpoint_type": "E1", "s3_endpoint": "in-maa-1.linodeobjects.com"},
+ {"region": "es-mad", "endpoint_type": "E1", "s3_endpoint": "es-mad-1.linodeobjects.com"},
{"region": "id-cgk", "endpoint_type": "E1", "s3_endpoint": "id-cgk-1.linodeobjects.com"},
+ {"region": "us-iad", "endpoint_type": "E1", "s3_endpoint": "us-iad-1.linodeobjects.com"},
+ {"region": "us-mia", "endpoint_type": "E1", "s3_endpoint": "us-mia-1.linodeobjects.com"},
+ {"region": "us-ord", "endpoint_type": "E3", "s3_endpoint": "us-ord-10.linodeobjects.com"},
+ {"region": "us-ord", "endpoint_type": "E1", "s3_endpoint": "us-ord-1.linodeobjects.com"},
+ {"region": "jp-tyo-3", "endpoint_type": "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com"},
+ {"region": "jp-osa", "endpoint_type": "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com"},
+ {"region": "us-lax", "endpoint_type": "E3", "s3_endpoint": "us-lax-4.linodeobjects.com"},
{"region": "us-lax", "endpoint_type": "E1", "s3_endpoint": "us-lax-1.linodeobjects.com"},
- {"region": "es-mad", "endpoint_type": "E1", "s3_endpoint": "es-mad-1.linodeobjects.com"},
+ {"region": "au-mel", "endpoint_type": "E2", "s3_endpoint": "au-mel-1.linodeobjects.com"},
+ {"region": "eu-central", "endpoint_type": "E0", "s3_endpoint": "eu-central-1.linodeobjects.com"},
+ {"region": "us-sea", "endpoint_type": "E1", "s3_endpoint": "us-sea-1.linodeobjects.com"},
+ {"region": "ap-south", "endpoint_type": "E0", "s3_endpoint": "ap-south-1.linodeobjects.com"},
+ {"region": "de-fra-2", "endpoint_type": "E3", "s3_endpoint": "de-fra-1.linodeobjects.com"},
+ {"region": "fr-par", "endpoint_type": "E1", "s3_endpoint": "fr-par-1.linodeobjects.com"},
+ {"region": "us-east", "endpoint_type": "E0", "s3_endpoint": "us-east-1.linodeobjects.com"},
+ {"region": "br-gru", "endpoint_type": "E1", "s3_endpoint": "br-gru-1.linodeobjects.com"},
{"region": "it-mil", "endpoint_type": "E1", "s3_endpoint": "it-mil-1.linodeobjects.com"},
- {"region": "us-southeast", "endpoint_type": "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com"}]}'
+ {"region": "nl-ams", "endpoint_type": "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com"},
+ {"region": "gb-lon", "endpoint_type": "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"}],
+ "page": 1, "pages": 1, "results": 25}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -55,7 +62,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:40:53 GMT
+ - Thu, 30 Apr 2026 20:18:26 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -74,14 +81,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"region":"us-iad","label":"go-bucket-test-def","endpoint_type":"E1","acl":"authenticated-read","cors_enabled":false}'
+ body: '{"region":"se-sto","label":"go-bucket-test-def","endpoint_type":"E1","acl":"authenticated-read","cors_enabled":false}'
form: {}
headers:
Accept:
@@ -93,10 +100,10 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/buckets
method: POST
response:
- body: '{"hostname": "go-bucket-test-def.us-iad-1.linodeobjects.com", "label":
- "go-bucket-test-def", "created": "2018-01-02T03:04:05", "region": "us-iad",
- "cluster": "us-iad-1", "size": 0, "objects": 0, "endpoint_type": "E1", "s3_endpoint":
- "us-iad-1.linodeobjects.com"}'
+ body: '{"hostname": "go-bucket-test-def.se-sto-1.linodeobjects.com", "label":
+ "go-bucket-test-def", "created": "2018-01-02T03:04:05", "region": "se-sto",
+ "cluster": "se-sto-1", "size": 0, "objects": 0, "endpoint_type": "E1", "s3_endpoint":
+ "se-sto-1.linodeobjects.com"}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -121,7 +128,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:40:55 GMT
+ - Thu, 30 Apr 2026 20:18:30 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -138,72 +145,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-iad/go-bucket-test-def/access
- method: GET
- response:
- body: '{"acl": "authenticated-read", "acl_xml": "c9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936http://acs.amazonaws.com/groups/global/AuthenticatedUsersREADc9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936FULL_CONTROL",
- "cors_enabled": false, "cors_xml": null}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "808"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 08 Jan 2025 07:40:57 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - object_storage:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -219,12 +161,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-iad/go-bucket-test-def/access
+ url: https://api.linode.com/v4beta/object-storage/buckets/se-sto/go-bucket-test-def/access
method: GET
response:
- body: '{"acl": "authenticated-read", "acl_xml": "c9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936640757b5-ebe9-45b1-abd5-581f215ef89e640757b5-ebe9-45b1-abd5-581f215ef89ehttp://acs.amazonaws.com/groups/global/AuthenticatedUsersREADc9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936FULL_CONTROL",
+ xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\">640757b5-ebe9-45b1-abd5-581f215ef89e640757b5-ebe9-45b1-abd5-581f215ef89eFULL_CONTROL",
"cors_enabled": false, "cors_xml": null}'
headers:
Access-Control-Allow-Credentials:
@@ -250,7 +192,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:40:58 GMT
+ - Thu, 30 Apr 2026 20:18:34 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -268,7 +210,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -284,7 +226,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-iad-1/go-bucket-test-def
+ url: https://api.linode.com/v4beta/object-storage/buckets/se-sto/go-bucket-test-def
method: DELETE
response:
body: '{}'
@@ -312,7 +254,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:41:08 GMT
+ - Thu, 30 Apr 2026 20:18:38 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -329,7 +271,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageBucket_Access_Modify.yaml b/test/integration/fixtures/TestObjectStorageBucket_Access_Modify.yaml
new file mode 100644
index 000000000..d94cae081
--- /dev/null
+++ b/test/integration/fixtures/TestObjectStorageBucket_Access_Modify.yaml
@@ -0,0 +1,340 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/endpoints?page=1
+ method: GET
+ response:
+ body: '{"data": [{"region": "in-maa", "endpoint_type": "E1", "s3_endpoint": "in-maa-1.linodeobjects.com"},
+ {"region": "jp-tyo-3", "endpoint_type": "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com"},
+ {"region": "us-southeast", "endpoint_type": "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com"},
+ {"region": "eu-central", "endpoint_type": "E0", "s3_endpoint": "eu-central-1.linodeobjects.com"},
+ {"region": "jp-osa", "endpoint_type": "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com"},
+ {"region": "nl-ams", "endpoint_type": "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com"},
+ {"region": "us-iad", "endpoint_type": "E1", "s3_endpoint": "us-iad-1.linodeobjects.com"},
+ {"region": "fr-par", "endpoint_type": "E1", "s3_endpoint": "fr-par-1.linodeobjects.com"},
+ {"region": "it-mil", "endpoint_type": "E1", "s3_endpoint": "it-mil-1.linodeobjects.com"},
+ {"region": "se-sto", "endpoint_type": "E1", "s3_endpoint": "se-sto-1.linodeobjects.com"},
+ {"region": "ap-south", "endpoint_type": "E0", "s3_endpoint": "ap-south-1.linodeobjects.com"},
+ {"region": "es-mad", "endpoint_type": "E1", "s3_endpoint": "es-mad-1.linodeobjects.com"},
+ {"region": "us-mia", "endpoint_type": "E1", "s3_endpoint": "us-mia-1.linodeobjects.com"},
+ {"region": "gb-lon", "endpoint_type": "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"},
+ {"region": "de-fra-2", "endpoint_type": "E3", "s3_endpoint": "de-fra-1.linodeobjects.com"},
+ {"region": "us-lax", "endpoint_type": "E3", "s3_endpoint": "us-lax-4.linodeobjects.com"},
+ {"region": "us-lax", "endpoint_type": "E1", "s3_endpoint": "us-lax-1.linodeobjects.com"},
+ {"region": "sg-sin-2", "endpoint_type": "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com"},
+ {"region": "us-ord", "endpoint_type": "E3", "s3_endpoint": "us-ord-10.linodeobjects.com"},
+ {"region": "us-ord", "endpoint_type": "E1", "s3_endpoint": "us-ord-1.linodeobjects.com"},
+ {"region": "br-gru", "endpoint_type": "E1", "s3_endpoint": "br-gru-1.linodeobjects.com"},
+ {"region": "au-mel", "endpoint_type": "E2", "s3_endpoint": "au-mel-1.linodeobjects.com"},
+ {"region": "us-sea", "endpoint_type": "E1", "s3_endpoint": "us-sea-1.linodeobjects.com"},
+ {"region": "id-cgk", "endpoint_type": "E1", "s3_endpoint": "id-cgk-1.linodeobjects.com"},
+ {"region": "us-east", "endpoint_type": "E0", "s3_endpoint": "us-east-1.linodeobjects.com"},
+ {"region": "us-iad-2", "endpoint_type": "E3", "s3_endpoint": null}], "page":
+ 1, "pages": 1, "results": 26}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Tue, 05 May 2026 20:24:35 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"in-maa","label":"go-bucket-test-def","endpoint_type":"E1"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets
+ method: POST
+ response:
+ body: '{"hostname": "go-bucket-test-def.in-maa-1.linodeobjects.com", "label":
+ "go-bucket-test-def", "created": "2018-01-02T03:04:05", "region": "in-maa",
+ "cluster": "in-maa-1", "size": 0, "objects": 0, "endpoint_type": "E1", "s3_endpoint":
+ "in-maa-1.linodeobjects.com"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "262"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Tue, 05 May 2026 20:24:39 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "60"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"acl":"private","cors_enabled":false}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/in-maa/go-bucket-test-def/access
+ method: POST
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Tue, 05 May 2026 20:24:43 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/in-maa/go-bucket-test-def/access
+ method: GET
+ response:
+ body: '{"acl": "private", "acl_xml": "640757b5-ebe9-45b1-abd5-581f215ef89e640757b5-ebe9-45b1-abd5-581f215ef89e640757b5-ebe9-45b1-abd5-581f215ef89e640757b5-ebe9-45b1-abd5-581f215ef89eFULL_CONTROL",
+ "cors_enabled": false, "cors_xml": null}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "591"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Tue, 05 May 2026 20:24:48 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/buckets/in-maa/go-bucket-test-def
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Tue, 05 May 2026 20:24:53 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestObjectStorageBucket_Access_Update.yaml b/test/integration/fixtures/TestObjectStorageBucket_Access_Update.yaml
index f16513000..a2e251c3e 100644
--- a/test/integration/fixtures/TestObjectStorageBucket_Access_Update.yaml
+++ b/test/integration/fixtures/TestObjectStorageBucket_Access_Update.yaml
@@ -14,25 +14,33 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/endpoints?page=1
method: GET
response:
- body: '{"pages": 1, "page": 1, "results": 18, "data": [{"region": "us-lax", "endpoint_type":
- "E1", "s3_endpoint": "us-lax-1.linodeobjects.com"}, {"region": "us-southeast",
- "endpoint_type": "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com"}, {"region":
- "in-maa", "endpoint_type": "E1", "s3_endpoint": "in-maa-1.linodeobjects.com"},
- {"region": "jp-osa", "endpoint_type": "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com"},
- {"region": "nl-ams", "endpoint_type": "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com"},
+ body: '{"data": [{"region": "us-lax", "endpoint_type": "E1", "s3_endpoint": "us-lax-1.linodeobjects.com"},
+ {"region": "us-lax", "endpoint_type": "E3", "s3_endpoint": "us-lax-4.linodeobjects.com"},
+ {"region": "us-southeast", "endpoint_type": "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com"},
+ {"region": "se-sto", "endpoint_type": "E1", "s3_endpoint": "se-sto-1.linodeobjects.com"},
+ {"region": "us-ord", "endpoint_type": "E3", "s3_endpoint": "us-ord-10.linodeobjects.com"},
+ {"region": "us-ord", "endpoint_type": "E1", "s3_endpoint": "us-ord-1.linodeobjects.com"},
+ {"region": "gb-lon", "endpoint_type": "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com"},
+ {"region": "sg-sin-2", "endpoint_type": "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com"},
{"region": "it-mil", "endpoint_type": "E1", "s3_endpoint": "it-mil-1.linodeobjects.com"},
+ {"region": "au-mel", "endpoint_type": "E2", "s3_endpoint": "au-mel-1.linodeobjects.com"},
+ {"region": "de-fra-2", "endpoint_type": "E3", "s3_endpoint": "de-fra-1.linodeobjects.com"},
{"region": "fr-par", "endpoint_type": "E1", "s3_endpoint": "fr-par-1.linodeobjects.com"},
- {"region": "us-ord", "endpoint_type": "E1", "s3_endpoint": "us-ord-1.linodeobjects.com"},
+ {"region": "jp-osa", "endpoint_type": "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com"},
+ {"region": "es-mad", "endpoint_type": "E1", "s3_endpoint": "es-mad-1.linodeobjects.com"},
{"region": "us-iad", "endpoint_type": "E1", "s3_endpoint": "us-iad-1.linodeobjects.com"},
- {"region": "br-gru", "endpoint_type": "E1", "s3_endpoint": "br-gru-1.linodeobjects.com"},
+ {"region": "nl-ams", "endpoint_type": "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com"},
{"region": "ap-south", "endpoint_type": "E0", "s3_endpoint": "ap-south-1.linodeobjects.com"},
- {"region": "es-mad", "endpoint_type": "E1", "s3_endpoint": "es-mad-1.linodeobjects.com"},
+ {"region": "us-mia", "endpoint_type": "E1", "s3_endpoint": "us-mia-1.linodeobjects.com"},
{"region": "eu-central", "endpoint_type": "E0", "s3_endpoint": "eu-central-1.linodeobjects.com"},
- {"region": "se-sto", "endpoint_type": "E1", "s3_endpoint": "se-sto-1.linodeobjects.com"},
+ {"region": "br-gru", "endpoint_type": "E1", "s3_endpoint": "br-gru-1.linodeobjects.com"},
+ {"region": "jp-tyo-3", "endpoint_type": "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com"},
{"region": "us-east", "endpoint_type": "E0", "s3_endpoint": "us-east-1.linodeobjects.com"},
- {"region": "us-mia", "endpoint_type": "E1", "s3_endpoint": "us-mia-1.linodeobjects.com"},
{"region": "id-cgk", "endpoint_type": "E1", "s3_endpoint": "id-cgk-1.linodeobjects.com"},
- {"region": "us-sea", "endpoint_type": "E1", "s3_endpoint": "us-sea-1.linodeobjects.com"}]}'
+ {"region": "in-maa", "endpoint_type": "E1", "s3_endpoint": "in-maa-1.linodeobjects.com"},
+ {"region": "us-sea", "endpoint_type": "E1", "s3_endpoint": "us-sea-1.linodeobjects.com"},
+ {"region": "us-iad-2", "endpoint_type": "E3", "s3_endpoint": null}], "page":
+ 1, "pages": 1, "results": 26}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -55,7 +63,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:41 GMT
+ - Tue, 05 May 2026 20:23:21 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -74,7 +82,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -121,7 +129,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:42 GMT
+ - Tue, 05 May 2026 20:23:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -138,7 +146,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -155,7 +163,7 @@ interactions:
User-Agent:
- linodego/dev https://github.com/linode/linodego
url: https://api.linode.com/v4beta/object-storage/buckets/us-lax/go-bucket-test-def/access
- method: POST
+ method: PUT
response:
body: '{}'
headers:
@@ -182,7 +190,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:43 GMT
+ - Tue, 05 May 2026 20:23:27 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -199,7 +207,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -218,8 +226,8 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/buckets/us-lax/go-bucket-test-def/access
method: GET
response:
- body: '{"acl": "private", "acl_xml": "c9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936FULL_CONTROL",
+ body: '{"acl": "private", "acl_xml": "640757b5-ebe9-45b1-abd5-581f215ef89e640757b5-ebe9-45b1-abd5-581f215ef89e640757b5-ebe9-45b1-abd5-581f215ef89e640757b5-ebe9-45b1-abd5-581f215ef89eFULL_CONTROL",
"cors_enabled": false, "cors_xml": null}'
headers:
Access-Control-Allow-Credentials:
@@ -245,7 +253,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:45 GMT
+ - Tue, 05 May 2026 20:23:30 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -263,7 +271,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -279,7 +287,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-lax-1/go-bucket-test-def
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-lax/go-bucket-test-def
method: DELETE
response:
body: '{}'
@@ -307,7 +315,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:48 GMT
+ - Tue, 05 May 2026 20:23:33 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -324,7 +332,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageBucket_Create.yaml b/test/integration/fixtures/TestObjectStorageBucket_Create.yaml
index 2a4753831..02d29e4b8 100644
--- a/test/integration/fixtures/TestObjectStorageBucket_Create.yaml
+++ b/test/integration/fixtures/TestObjectStorageBucket_Create.yaml
@@ -42,7 +42,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:02:49 GMT
+ - Thu, 30 Apr 2026 20:17:59 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -59,7 +59,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -75,7 +75,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-east/go-bucket-test-def
method: DELETE
response:
body: '{}'
@@ -103,7 +103,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:02:53 GMT
+ - Thu, 30 Apr 2026 20:18:02 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -120,7 +120,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageBucket_GetFound.yaml b/test/integration/fixtures/TestObjectStorageBucket_GetFound.yaml
index eb8fb4b5c..3aab50b2f 100644
--- a/test/integration/fixtures/TestObjectStorageBucket_GetFound.yaml
+++ b/test/integration/fixtures/TestObjectStorageBucket_GetFound.yaml
@@ -42,7 +42,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:13 GMT
+ - Thu, 30 Apr 2026 20:18:11 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -59,7 +59,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -75,7 +75,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-east/go-bucket-test-def
method: GET
response:
body: '{"hostname": "go-bucket-test-def.us-east-1.linodeobjects.com", "label":
@@ -106,7 +106,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:14 GMT
+ - Thu, 30 Apr 2026 20:18:12 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -124,7 +124,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -140,7 +140,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-east/go-bucket-test-def
method: DELETE
response:
body: '{}'
@@ -168,7 +168,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:17 GMT
+ - Thu, 30 Apr 2026 20:18:15 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -185,7 +185,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageBucket_GetMissing.yaml b/test/integration/fixtures/TestObjectStorageBucket_GetMissing.yaml
index b5864d11b..adeabb5a6 100644
--- a/test/integration/fixtures/TestObjectStorageBucket_GetMissing.yaml
+++ b/test/integration/fixtures/TestObjectStorageBucket_GetMissing.yaml
@@ -42,7 +42,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:07 GMT
+ - Thu, 30 Apr 2026 20:18:04 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -59,7 +59,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -78,7 +78,8 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/buckets/us-west-1/go-bucket-test-def
method: GET
response:
- body: '{"errors": [{"reason": "Not found"}]}'
+ body: '{"errors": [{"reason": "The specified region was not found or does not
+ support Object Storage."}]}'
headers:
Access-Control-Allow-Headers:
- Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
@@ -93,13 +94,15 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "37"
+ - "98"
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:07 GMT
+ - Thu, 30 Apr 2026 20:18:04 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
Vary:
- Authorization, X-Filter
X-Accepted-Oauth-Scopes:
@@ -109,7 +112,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
status: 404 Not Found
code: 404
duration: ""
@@ -123,7 +126,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-east/go-bucket-test-def
method: DELETE
response:
body: '{}'
@@ -151,7 +154,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:11 GMT
+ - Thu, 30 Apr 2026 20:18:07 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -168,7 +171,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageBucket_Regional.yaml b/test/integration/fixtures/TestObjectStorageBucket_Regional.yaml
deleted file mode 100644
index 55aaf10c0..000000000
--- a/test/integration/fixtures/TestObjectStorageBucket_Regional.yaml
+++ /dev/null
@@ -1,539 +0,0 @@
----
-version: 1
-interactions:
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/regions?page=1
- method: GET
- response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts"], "status":
- "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, CA", "country":
- "ca", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts"], "status":
- "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country":
- "au", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts"], "status":
- "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-iad", "label": "Washington, DC", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-ord", "label": "Chicago, IL", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "fr-par", "label": "Paris, FR", "country":
- "fr", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-sea", "label": "Seattle, WA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers":
- {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "br-gru", "label": "Sao Paulo, BR", "country":
- "br", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country":
- "nl", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country":
- "se", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "es-mad", "label": "Madrid, ES", "country":
- "es", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-maa", "label": "Chennai, IN", "country":
- "in", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U"], "status": "ok",
- "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-osa", "label": "Osaka, JP", "country":
- "jp", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "it-mil", "label": "Milan, IT", "country":
- "it", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-mia", "label": "Miami, FL", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U"], "status": "ok",
- "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "id-cgk", "label": "Jakarta, ID", "country":
- "id", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-lax", "label": "Los Angeles, CA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U"], "status": "ok",
- "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nz-akl-1", "label": "Auckland, NZ", "country":
- "nz", "capabilities": ["Linodes", "Cloud Firewall", "Vlans", "Metadata", "Distributed
- Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0}, "site_type": "distributed"}, {"id": "us-den-1",
- "label": "Denver, CO", "country": "us", "capabilities": ["Linodes", "Cloud Firewall",
- "Vlans", "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4":
- "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "de-ham-1", "label": "Hamburg, DE",
- "country": "de", "capabilities": ["Linodes", "Cloud Firewall", "Vlans", "Metadata",
- "Distributed Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0}, "site_type": "distributed"}, {"id": "fr-mrs-1",
- "label": "Marseille, FR", "country": "fr", "capabilities": ["Linodes", "Cloud
- Firewall", "Vlans", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "za-jnb-1", "label": "Johannesburg,
- ZA", "country": "za", "capabilities": ["Linodes", "Cloud Firewall", "Vlans",
- "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0}, "site_type": "distributed"}, {"id": "my-kul-1",
- "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes", "Cloud
- Firewall", "Vlans", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "co-bog-1", "label": "Bogot\u00e1, CO",
- "country": "co", "capabilities": ["Linodes", "Cloud Firewall", "Vlans", "Metadata",
- "Distributed Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0}, "site_type": "distributed"}, {"id": "mx-qro-1",
- "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities": ["Linodes",
- "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans"], "status": "ok",
- "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "us-hou-1", "label": "Houston, TX",
- "country": "us", "capabilities": ["Linodes", "Cloud Firewall", "Vlans", "Metadata",
- "Distributed Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0}, "site_type": "distributed"}, {"id": "cl-scl-1",
- "label": "Santiago, CL", "country": "cl", "capabilities": ["Linodes", "Cloud
- Firewall", "Vlans", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "gb-lon", "label": "London 2, UK", "country":
- "gb", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
- Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "au-mel", "label": "Melbourne, AU", "country":
- "au", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
- Group", "StackScripts", "NETINT Quadra T1U"], "status": "ok", "resolvers": {"ipv4":
- "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-bom-2", "label": "Mumbai 2, IN", "country":
- "in", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts"],
- "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "de-fra-2", "label": "Frankfurt 2, DE", "country":
- "de", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U"], "status": "ok", "resolvers": {"ipv4":
- "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "sg-sin-2", "label": "Singapore 2, SG", "country":
- "sg", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-tyo-3", "label": "Tokyo 3, JP", "country":
- "jp", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts"],
- "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX", "country":
- "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts"], "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
- "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts"], "status": "ok",
- "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
- "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4": "66.228.42.5,
- 96.126.106.5, 50.116.53.5, 50.116.58.5, 50.116.61.5, 50.116.62.5, 66.175.211.5,
- 97.107.133.4, 207.192.69.4, 207.192.69.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts"],
- "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
- 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
- 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts"],
- "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country":
- "de", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country":
- "jp", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts"], "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 41}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 08 Jan 2025 06:02:53 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- - Accept-Encoding
- X-Accepted-Oauth-Scopes:
- - '*'
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: '{"region":"us-iad","label":"go-bucket-test-def"}'
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets
- method: POST
- response:
- body: '{"hostname": "go-bucket-test-def.us-iad-1.linodeobjects.com", "label":
- "go-bucket-test-def", "created": "2018-01-02T03:04:05", "region": "us-iad",
- "cluster": "us-iad-1", "size": 0, "objects": 0, "endpoint_type": "E1", "s3_endpoint":
- "us-iad-1.linodeobjects.com"}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "262"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 08 Jan 2025 06:02:55 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - object_storage:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-iad/go-bucket-test-def
- method: GET
- response:
- body: '{"hostname": "go-bucket-test-def.us-iad-1.linodeobjects.com", "label":
- "go-bucket-test-def", "created": "2018-01-02T03:04:05", "region": "us-iad",
- "cluster": "us-iad-1", "size": 0, "objects": 0, "endpoint_type": "E1", "s3_endpoint":
- "us-iad-1.linodeobjects.com"}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "262"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 08 Jan 2025 06:02:56 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - object_storage:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-iad-1/go-bucket-test-def
- method: DELETE
- response:
- body: '{}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "2"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 08 Jan 2025 06:03:05 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - object_storage:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
diff --git a/test/integration/fixtures/TestObjectStorageBucketsInCluster_List.yaml b/test/integration/fixtures/TestObjectStorageBucketsInCluster_List.yaml
deleted file mode 100644
index 9e0cc3b02..000000000
--- a/test/integration/fixtures/TestObjectStorageBucketsInCluster_List.yaml
+++ /dev/null
@@ -1,193 +0,0 @@
----
-version: 1
-interactions:
-- request:
- body: '{"region":"us-east","label":"go-bucket-test-def"}'
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets
- method: POST
- response:
- body: '{"hostname": "go-bucket-test-def.us-east-1.linodeobjects.com", "label":
- "go-bucket-test-def", "created": "2018-01-02T03:04:05", "region": "us-east",
- "cluster": "us-east-1", "size": 0, "objects": 0, "endpoint_type": "E0", "s3_endpoint":
- "us-east-1.linodeobjects.com"}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "266"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 08 Jan 2025 06:03:28 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - object_storage:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1?page=1
- method: GET
- response:
- body: '{"data": [{"hostname": "go-bucket-test-def.us-east-1.linodeobjects.com",
- "label": "go-bucket-test-def", "created": "2018-01-02T03:04:05", "region": "us-east",
- "cluster": "us-east-1", "size": 0, "objects": 0, "endpoint_type": "E0", "s3_endpoint":
- "us-east-1.linodeobjects.com"}], "page": 1, "pages": 1, "results": 1}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "315"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 08 Jan 2025 06:03:29 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - object_storage:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def
- method: DELETE
- response:
- body: '{}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "2"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 08 Jan 2025 06:03:33 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - object_storage:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
diff --git a/test/integration/fixtures/TestObjectStorageBuckets_List.yaml b/test/integration/fixtures/TestObjectStorageBuckets_List.yaml
index 139f14f75..861804cd5 100644
--- a/test/integration/fixtures/TestObjectStorageBuckets_List.yaml
+++ b/test/integration/fixtures/TestObjectStorageBuckets_List.yaml
@@ -42,7 +42,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 30 Jan 2025 19:34:04 GMT
+ - Thu, 30 Apr 2026 20:18:17 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -59,7 +59,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -78,50 +78,10 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/buckets?page=1
method: GET
response:
- body: '{"data": [{"hostname": "bucket-1736798274052633022.gb-lon-1.linodeobjects.com",
- "label": "bucket-1736798274052633022", "created": "2018-01-02T03:04:05", "region":
- "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type": "E3", "s3_endpoint":
- "gb-lon-1.linodeobjects.com"}, {"hostname": "bucket-1738000793614673680.gb-lon-1.linodeobjects.com",
- "label": "bucket-1738000793614673680", "created": "2018-01-02T03:04:05", "region":
- "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type": "E3", "s3_endpoint":
- "gb-lon-1.linodeobjects.com"}, {"hostname": "go-bucket-test-def.us-east-1.linodeobjects.com",
+ body: '{"data": [{"hostname": "go-bucket-test-def.us-east-1.linodeobjects.com",
"label": "go-bucket-test-def", "created": "2018-01-02T03:04:05", "region": "us-east",
"cluster": "us-east-1", "size": 0, "objects": 0, "endpoint_type": "E0", "s3_endpoint":
- "us-east-1.linodeobjects.com"}, {"hostname": "tf-test-1543819153442410267.sg-sin-1.linodeobjects.com",
- "label": "tf-test-1543819153442410267", "created": "2018-01-02T03:04:05", "region":
- "sg-sin-2", "cluster": "", "size": 0, "objects": 0, "endpoint_type": "E2", "s3_endpoint":
- "sg-sin-1.linodeobjects.com"}, {"hostname": "tf-test-2484676038142344857.it-mil-1.linodeobjects.com",
- "label": "tf-test-2484676038142344857", "created": "2018-01-02T03:04:05", "region":
- "it-mil", "cluster": "it-mil-1", "size": 0, "objects": 0, "endpoint_type": "E1",
- "s3_endpoint": "it-mil-1.linodeobjects.com"}, {"hostname": "tf-test-3502349996573909406.us-iad-1.linodeobjects.com",
- "label": "tf-test-3502349996573909406", "created": "2018-01-02T03:04:05", "region":
- "us-iad", "cluster": "us-iad-1", "size": 0, "objects": 0, "endpoint_type": "E1",
- "s3_endpoint": "us-iad-1.linodeobjects.com"}, {"hostname": "tf-test-3632911602253826896.gb-lon-1.linodeobjects.com",
- "label": "tf-test-3632911602253826896", "created": "2018-01-02T03:04:05", "region":
- "gb-lon", "cluster": "", "size": 0, "objects": 0, "endpoint_type": "E3", "s3_endpoint":
- "gb-lon-1.linodeobjects.com"}, {"hostname": "tf-test-3691810287020261631.us-iad-1.linodeobjects.com",
- "label": "tf-test-3691810287020261631", "created": "2018-01-02T03:04:05", "region":
- "us-iad", "cluster": "us-iad-1", "size": 0, "objects": 0, "endpoint_type": "E1",
- "s3_endpoint": "us-iad-1.linodeobjects.com"}, {"hostname": "tf-test-3847259615974034792.us-iad-1.linodeobjects.com",
- "label": "tf-test-3847259615974034792", "created": "2018-01-02T03:04:05", "region":
- "us-iad", "cluster": "us-iad-1", "size": 0, "objects": 0, "endpoint_type": "E1",
- "s3_endpoint": "us-iad-1.linodeobjects.com"}, {"hostname": "tf-test-5629732048996817677.us-iad-1.linodeobjects.com",
- "label": "tf-test-5629732048996817677", "created": "2018-01-02T03:04:05", "region":
- "us-iad", "cluster": "us-iad-1", "size": 0, "objects": 0, "endpoint_type": "E1",
- "s3_endpoint": "us-iad-1.linodeobjects.com"}, {"hostname": "tf-test-6566002079784759866.us-iad-1.linodeobjects.com",
- "label": "tf-test-6566002079784759866", "created": "2018-01-02T03:04:05", "region":
- "us-iad", "cluster": "us-iad-1", "size": 0, "objects": 0, "endpoint_type": "E1",
- "s3_endpoint": "us-iad-1.linodeobjects.com"}, {"hostname": "tf-test-6680232593917341773.us-iad-1.linodeobjects.com",
- "label": "tf-test-6680232593917341773", "created": "2018-01-02T03:04:05", "region":
- "us-iad", "cluster": "us-iad-1", "size": 0, "objects": 0, "endpoint_type": "E1",
- "s3_endpoint": "us-iad-1.linodeobjects.com"}, {"hostname": "tf-test-6921913936824551527.id-cgk-1.linodeobjects.com",
- "label": "tf-test-6921913936824551527", "created": "2018-01-02T03:04:05", "region":
- "id-cgk", "cluster": "id-cgk-1", "size": 0, "objects": 0, "endpoint_type": "E1",
- "s3_endpoint": "id-cgk-1.linodeobjects.com"}, {"hostname": "tf-test-8637208670123446138.us-iad-1.linodeobjects.com",
- "label": "tf-test-8637208670123446138", "created": "2018-01-02T03:04:05", "region":
- "us-iad", "cluster": "us-iad-1", "size": 0, "objects": 0, "endpoint_type": "E1",
- "s3_endpoint": "us-iad-1.linodeobjects.com"}], "page": 1, "pages": 1, "results":
- 14}'
+ "us-east-1.linodeobjects.com"}], "page": 1, "pages": 1, "results": 2}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -139,12 +99,14 @@ interactions:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
+ Content-Length:
+ - "315"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 30 Jan 2025 19:34:09 GMT
+ - Thu, 30 Apr 2026 20:18:19 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -152,7 +114,6 @@ interactions:
Vary:
- Authorization, X-Filter
- Authorization, X-Filter
- - Accept-Encoding
X-Accepted-Oauth-Scopes:
- object_storage:read_only
X-Content-Type-Options:
@@ -163,7 +124,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -179,7 +140,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-east/go-bucket-test-def
method: DELETE
response:
body: '{}'
@@ -207,7 +168,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 30 Jan 2025 19:34:13 GMT
+ - Thu, 30 Apr 2026 20:18:22 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -224,7 +185,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageClusters_List.yaml b/test/integration/fixtures/TestObjectStorageClusters_List.yaml
deleted file mode 100644
index c6df53d93..000000000
--- a/test/integration/fixtures/TestObjectStorageClusters_List.yaml
+++ /dev/null
@@ -1,114 +0,0 @@
----
-version: 1
-interactions:
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/clusters?page=1
- method: GET
- response:
- body: '{"data": [{"id": "us-east-1", "region": "us-east", "status": "available",
- "domain": "us-east-1.linodeobjects.com", "static_site_domain": "website-us-east-1.linodeobjects.com"},
- {"id": "eu-central-1", "region": "eu-central", "status": "available", "domain":
- "eu-central-1.linodeobjects.com", "static_site_domain": "website-eu-central-1.linodeobjects.com"},
- {"id": "ap-south-1", "region": "ap-south", "status": "available", "domain":
- "ap-south-1.linodeobjects.com", "static_site_domain": "website-ap-south-1.linodeobjects.com"},
- {"id": "us-southeast-1", "region": "us-southeast", "status": "available", "domain":
- "us-southeast-1.linodeobjects.com", "static_site_domain": "website-us-southeast-1.linodeobjects.com"},
- {"id": "us-iad-1", "region": "us-iad", "status": "available", "domain": "us-iad-1.linodeobjects.com",
- "static_site_domain": "website-us-iad-1.linodeobjects.com"}, {"id": "fr-par-1",
- "region": "fr-par", "status": "available", "domain": "fr-par-1.linodeobjects.com",
- "static_site_domain": "website-fr-par-1.linodeobjects.com"}, {"id": "us-ord-1",
- "region": "us-ord", "status": "available", "domain": "us-ord-1.linodeobjects.com",
- "static_site_domain": "website-us-ord-1.linodeobjects.com"}, {"id": "in-maa-1",
- "region": "in-maa", "status": "available", "domain": "in-maa-1.linodeobjects.com",
- "static_site_domain": "website-in-maa-1.linodeobjects.com"}, {"id": "se-sto-1",
- "region": "se-sto", "status": "available", "domain": "se-sto-1.linodeobjects.com",
- "static_site_domain": "website-se-sto-1.linodeobjects.com"}, {"id": "it-mil-1",
- "region": "it-mil", "status": "available", "domain": "it-mil-1.linodeobjects.com",
- "static_site_domain": "website-it-mil-1.linodeobjects.com"}, {"id": "us-sea-1",
- "region": "us-sea", "status": "available", "domain": "us-sea-1.linodeobjects.com",
- "static_site_domain": "website-us-sea-1.linodeobjects.com"}, {"id": "id-cgk-1",
- "region": "id-cgk", "status": "available", "domain": "id-cgk-1.linodeobjects.com",
- "static_site_domain": "website-id-cgk-1.linodeobjects.com"}, {"id": "jp-osa-1",
- "region": "jp-osa", "status": "available", "domain": "jp-osa-1.linodeobjects.com",
- "static_site_domain": "website-jp-osa-1.linodeobjects.com"}, {"id": "br-gru-1",
- "region": "br-gru", "status": "available", "domain": "br-gru-1.linodeobjects.com",
- "static_site_domain": "website-br-gru-1.linodeobjects.com"}, {"id": "us-lax-1",
- "region": "us-lax", "status": "available", "domain": "us-lax-1.linodeobjects.com",
- "static_site_domain": "website-us-lax-1.linodeobjects.com"}, {"id": "nl-ams-1",
- "region": "nl-ams", "status": "available", "domain": "nl-ams-1.linodeobjects.com",
- "static_site_domain": "website-nl-ams-1.linodeobjects.com"}, {"id": "us-mia-1",
- "region": "us-mia", "status": "available", "domain": "us-mia-1.linodeobjects.com",
- "static_site_domain": "website-us-mia-1.linodeobjects.com"}, {"id": "es-mad-1",
- "region": "es-mad", "status": "available", "domain": "es-mad-1.linodeobjects.com",
- "static_site_domain": "website-es-mad-1.linodeobjects.com"}, {"id": "us-iad-10",
- "region": "us-iad", "status": "available", "domain": "us-iad-10.linodeobjects.com",
- "static_site_domain": "website-us-iad-10.linodeobjects.com"}, {"id": "us-sea-9",
- "region": "us-sea", "status": "hidden", "domain": "us-sea-9.linodeobjects.com",
- "static_site_domain": "website-us-sea-9.linodeobjects.com"}, {"id": "au-mel-1",
- "region": "au-mel", "status": "hidden", "domain": "au-mel-1.linodeobjects.com",
- "static_site_domain": "website-au-mel-1.linodeobjects.com"}, {"id": "gb-lon-1",
- "region": "gb-lon", "status": "hidden", "domain": "gb-lon-1.linodeobjects.com",
- "static_site_domain": "website-gb-lon-1.linodeobjects.com"}, {"id": "in-bom-1",
- "region": "in-bom-2", "status": "hidden", "domain": "in-bom-1.linodeobjects.com",
- "static_site_domain": "website-in-bom-1.linodeobjects.com"}, {"id": "de-fra-1",
- "region": "de-fra-2", "status": "hidden", "domain": "de-fra-1.linodeobjects.com",
- "static_site_domain": "website-de-fra-1.linodeobjects.com"}, {"id": "sg-sin-1",
- "region": "sg-sin-2", "status": "hidden", "domain": "sg-sin-1.linodeobjects.com",
- "static_site_domain": "website-sg-sin-1.linodeobjects.com"}], "page": 1, "pages":
- 1, "results": 25}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 08 Jan 2025 06:03:49 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- - Accept-Encoding
- X-Accepted-Oauth-Scopes:
- - object_storage:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
diff --git a/test/integration/fixtures/TestObjectStorageKey_GetFound.yaml b/test/integration/fixtures/TestObjectStorageKey_GetFound.yaml
index eded32ffc..df3671b78 100644
--- a/test/integration/fixtures/TestObjectStorageKey_GetFound.yaml
+++ b/test/integration/fixtures/TestObjectStorageKey_GetFound.yaml
@@ -14,7 +14,7 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/keys
method: POST
response:
- body: '{"id": 1654583, "label": "go-test-def", "access_key": "[SANITIZED]", "secret_key":
+ body: '{"id": 3498033, "label": "go-test-def", "access_key": "[SANITIZED]", "secret_key":
"[SANITIZED]", "limited": false, "bucket_access": null, "regions": [{"id": "ap-south",
"s3_endpoint": "ap-south-1.linodeobjects.com", "endpoint_type": "E0"}, {"id":
"br-gru", "s3_endpoint": "br-gru-1.linodeobjects.com", "endpoint_type": "E1"},
@@ -30,9 +30,11 @@ interactions:
"endpoint_type": "E1"}, {"id": "us-east", "s3_endpoint": "us-east-1.linodeobjects.com",
"endpoint_type": "E0"}, {"id": "us-iad", "s3_endpoint": "us-iad-1.linodeobjects.com",
"endpoint_type": "E1"}, {"id": "us-lax", "s3_endpoint": "us-lax-1.linodeobjects.com",
- "endpoint_type": "E1"}, {"id": "us-mia", "s3_endpoint": "us-mia-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-lax", "s3_endpoint": "us-lax-4.linodeobjects.com",
+ "endpoint_type": "E3"}, {"id": "us-mia", "s3_endpoint": "us-mia-1.linodeobjects.com",
"endpoint_type": "E1"}, {"id": "us-ord", "s3_endpoint": "us-ord-1.linodeobjects.com",
- "endpoint_type": "E1"}, {"id": "us-sea", "s3_endpoint": "us-sea-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-ord", "s3_endpoint": "us-ord-10.linodeobjects.com",
+ "endpoint_type": "E3"}, {"id": "us-sea", "s3_endpoint": "us-sea-1.linodeobjects.com",
"endpoint_type": "E1"}, {"id": "us-southeast", "s3_endpoint": "us-southeast-1.linodeobjects.com",
"endpoint_type": "E0"}]}'
headers:
@@ -57,7 +59,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:51 GMT
+ - Thu, 30 Apr 2026 20:18:59 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -75,7 +77,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -91,10 +93,10 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/keys/1654583
+ url: https://api.linode.com/v4beta/object-storage/keys/3498033
method: GET
response:
- body: '{"id": 1654583, "label": "go-test-def", "access_key": "[SANITIZED]", "secret_key":
+ body: '{"id": 3498033, "label": "go-test-def", "access_key": "[SANITIZED]", "secret_key":
"[REDACTED]", "limited": false, "bucket_access": null, "regions": [{"id": "ap-south",
"s3_endpoint": "ap-south-1.linodeobjects.com", "endpoint_type": "E0"}, {"id":
"br-gru", "s3_endpoint": "br-gru-1.linodeobjects.com", "endpoint_type": "E1"},
@@ -110,9 +112,11 @@ interactions:
"endpoint_type": "E1"}, {"id": "us-east", "s3_endpoint": "us-east-1.linodeobjects.com",
"endpoint_type": "E0"}, {"id": "us-iad", "s3_endpoint": "us-iad-1.linodeobjects.com",
"endpoint_type": "E1"}, {"id": "us-lax", "s3_endpoint": "us-lax-1.linodeobjects.com",
- "endpoint_type": "E1"}, {"id": "us-mia", "s3_endpoint": "us-mia-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-lax", "s3_endpoint": "us-lax-4.linodeobjects.com",
+ "endpoint_type": "E3"}, {"id": "us-mia", "s3_endpoint": "us-mia-1.linodeobjects.com",
"endpoint_type": "E1"}, {"id": "us-ord", "s3_endpoint": "us-ord-1.linodeobjects.com",
- "endpoint_type": "E1"}, {"id": "us-sea", "s3_endpoint": "us-sea-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-ord", "s3_endpoint": "us-ord-10.linodeobjects.com",
+ "endpoint_type": "E3"}, {"id": "us-sea", "s3_endpoint": "us-sea-1.linodeobjects.com",
"endpoint_type": "E1"}, {"id": "us-southeast", "s3_endpoint": "us-southeast-1.linodeobjects.com",
"endpoint_type": "E0"}]}'
headers:
@@ -137,7 +141,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:52 GMT
+ - Thu, 30 Apr 2026 20:19:00 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -156,7 +160,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -172,7 +176,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/keys/1654583
+ url: https://api.linode.com/v4beta/object-storage/keys/3498033
method: DELETE
response:
body: '{}'
@@ -200,7 +204,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:53 GMT
+ - Thu, 30 Apr 2026 20:19:01 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -217,7 +221,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageKey_GetMissing.yaml b/test/integration/fixtures/TestObjectStorageKey_GetMissing.yaml
index 3ed97bae6..65eabaefb 100644
--- a/test/integration/fixtures/TestObjectStorageKey_GetMissing.yaml
+++ b/test/integration/fixtures/TestObjectStorageKey_GetMissing.yaml
@@ -14,7 +14,7 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/keys/123
method: GET
response:
- body: '{"errors": [{"reason": "Not found"}]}'
+ body: '{"errors": [{"reason": "The specified access key was not found."}]}'
headers:
Access-Control-Allow-Headers:
- Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
@@ -29,13 +29,15 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "37"
+ - "67"
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:49 GMT
+ - Thu, 30 Apr 2026 20:18:55 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
Vary:
- Authorization, X-Filter
X-Accepted-Oauth-Scopes:
@@ -45,7 +47,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
status: 404 Not Found
code: 404
duration: ""
diff --git a/test/integration/fixtures/TestObjectStorageKey_List.yaml b/test/integration/fixtures/TestObjectStorageKey_List.yaml
index 8d76c9713..62a719490 100644
--- a/test/integration/fixtures/TestObjectStorageKey_List.yaml
+++ b/test/integration/fixtures/TestObjectStorageKey_List.yaml
@@ -14,7 +14,7 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/keys
method: POST
response:
- body: '{"id": 1654585, "label": "go-test-def", "access_key": "[SANITIZED]", "secret_key":
+ body: '{"id": 3573414, "label": "go-test-def", "access_key": "[SANITIZED]", "secret_key":
"[SANITIZED]", "limited": false, "bucket_access": null, "regions": [{"id": "ap-south",
"s3_endpoint": "ap-south-1.linodeobjects.com", "endpoint_type": "E0"}, {"id":
"br-gru", "s3_endpoint": "br-gru-1.linodeobjects.com", "endpoint_type": "E1"},
@@ -30,9 +30,11 @@ interactions:
"endpoint_type": "E1"}, {"id": "us-east", "s3_endpoint": "us-east-1.linodeobjects.com",
"endpoint_type": "E0"}, {"id": "us-iad", "s3_endpoint": "us-iad-1.linodeobjects.com",
"endpoint_type": "E1"}, {"id": "us-lax", "s3_endpoint": "us-lax-1.linodeobjects.com",
- "endpoint_type": "E1"}, {"id": "us-mia", "s3_endpoint": "us-mia-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-lax", "s3_endpoint": "us-lax-4.linodeobjects.com",
+ "endpoint_type": "E3"}, {"id": "us-mia", "s3_endpoint": "us-mia-1.linodeobjects.com",
"endpoint_type": "E1"}, {"id": "us-ord", "s3_endpoint": "us-ord-1.linodeobjects.com",
- "endpoint_type": "E1"}, {"id": "us-sea", "s3_endpoint": "us-sea-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-ord", "s3_endpoint": "us-ord-10.linodeobjects.com",
+ "endpoint_type": "E3"}, {"id": "us-sea", "s3_endpoint": "us-sea-1.linodeobjects.com",
"endpoint_type": "E1"}, {"id": "us-southeast", "s3_endpoint": "us-southeast-1.linodeobjects.com",
"endpoint_type": "E0"}]}'
headers:
@@ -57,7 +59,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:59 GMT
+ - Wed, 06 May 2026 02:22:10 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -75,7 +77,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -94,8 +96,8 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/keys?page=1
method: GET
response:
- body: '{"pages": 1, "page": 1, "results": 1, "data": [{"id": 1654585, "label":
- "go-test-def", "access_key": "[SANITIZED]", "secret_key": "[REDACTED]", "limited":
+ body: '{"pages": 1, "page": 1, "results": 2, "data": [{"id": 3513975, "label":
+ "go-test-def_r", "access_key": "[SANITIZED]", "secret_key": "[REDACTED]", "limited":
false, "bucket_access": null, "regions": [{"id": "ap-south", "s3_endpoint":
"ap-south-1.linodeobjects.com", "endpoint_type": "E0"}, {"id": "br-gru", "s3_endpoint":
"br-gru-1.linodeobjects.com", "endpoint_type": "E1"}, {"id": "es-mad", "s3_endpoint":
@@ -110,11 +112,36 @@ interactions:
"se-sto-1.linodeobjects.com", "endpoint_type": "E1"}, {"id": "us-east", "s3_endpoint":
"us-east-1.linodeobjects.com", "endpoint_type": "E0"}, {"id": "us-iad", "s3_endpoint":
"us-iad-1.linodeobjects.com", "endpoint_type": "E1"}, {"id": "us-lax", "s3_endpoint":
- "us-lax-1.linodeobjects.com", "endpoint_type": "E1"}, {"id": "us-mia", "s3_endpoint":
+ "us-lax-1.linodeobjects.com", "endpoint_type": "E1"}, {"id": "us-lax", "s3_endpoint":
+ "us-lax-4.linodeobjects.com", "endpoint_type": "E3"}, {"id": "us-mia", "s3_endpoint":
"us-mia-1.linodeobjects.com", "endpoint_type": "E1"}, {"id": "us-ord", "s3_endpoint":
- "us-ord-1.linodeobjects.com", "endpoint_type": "E1"}, {"id": "us-sea", "s3_endpoint":
+ "us-ord-1.linodeobjects.com", "endpoint_type": "E1"}, {"id": "us-ord", "s3_endpoint":
+ "us-ord-10.linodeobjects.com", "endpoint_type": "E3"}, {"id": "us-sea", "s3_endpoint":
"us-sea-1.linodeobjects.com", "endpoint_type": "E1"}, {"id": "us-southeast",
- "s3_endpoint": "us-southeast-1.linodeobjects.com", "endpoint_type": "E0"}]}]}'
+ "s3_endpoint": "us-southeast-1.linodeobjects.com", "endpoint_type": "E0"}]},
+ {"id": 3573414, "label": "go-test-def", "access_key": "[SANITIZED]", "secret_key":
+ "[REDACTED]", "limited": false, "bucket_access": null, "regions": [{"id": "ap-south",
+ "s3_endpoint": "ap-south-1.linodeobjects.com", "endpoint_type": "E0"}, {"id":
+ "br-gru", "s3_endpoint": "br-gru-1.linodeobjects.com", "endpoint_type": "E1"},
+ {"id": "es-mad", "s3_endpoint": "es-mad-1.linodeobjects.com", "endpoint_type":
+ "E1"}, {"id": "eu-central", "s3_endpoint": "eu-central-1.linodeobjects.com",
+ "endpoint_type": "E0"}, {"id": "fr-par", "s3_endpoint": "fr-par-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "id-cgk", "s3_endpoint": "id-cgk-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "in-maa", "s3_endpoint": "in-maa-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "it-mil", "s3_endpoint": "it-mil-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "jp-osa", "s3_endpoint": "jp-osa-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "nl-ams", "s3_endpoint": "nl-ams-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "se-sto", "s3_endpoint": "se-sto-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-east", "s3_endpoint": "us-east-1.linodeobjects.com",
+ "endpoint_type": "E0"}, {"id": "us-iad", "s3_endpoint": "us-iad-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-lax", "s3_endpoint": "us-lax-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-lax", "s3_endpoint": "us-lax-4.linodeobjects.com",
+ "endpoint_type": "E3"}, {"id": "us-mia", "s3_endpoint": "us-mia-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-ord", "s3_endpoint": "us-ord-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-ord", "s3_endpoint": "us-ord-10.linodeobjects.com",
+ "endpoint_type": "E3"}, {"id": "us-sea", "s3_endpoint": "us-sea-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-southeast", "s3_endpoint": "us-southeast-1.linodeobjects.com",
+ "endpoint_type": "E0"}]}]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -137,7 +164,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:04:00 GMT
+ - Wed, 06 May 2026 02:22:10 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -156,7 +183,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -172,7 +199,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/keys/1654585
+ url: https://api.linode.com/v4beta/object-storage/keys/3573414
method: DELETE
response:
body: '{}'
@@ -200,7 +227,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:04:01 GMT
+ - Wed, 06 May 2026 02:22:11 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -217,7 +244,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageKey_Update.yaml b/test/integration/fixtures/TestObjectStorageKey_Update.yaml
index f9804cc6b..738b51c19 100644
--- a/test/integration/fixtures/TestObjectStorageKey_Update.yaml
+++ b/test/integration/fixtures/TestObjectStorageKey_Update.yaml
@@ -14,7 +14,7 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/keys
method: POST
response:
- body: '{"id": 1654584, "label": "go-test-def", "access_key": "[SANITIZED]", "secret_key":
+ body: '{"id": 3498035, "label": "go-test-def", "access_key": "[SANITIZED]", "secret_key":
"[SANITIZED]", "limited": false, "bucket_access": null, "regions": [{"id": "ap-south",
"s3_endpoint": "ap-south-1.linodeobjects.com", "endpoint_type": "E0"}, {"id":
"br-gru", "s3_endpoint": "br-gru-1.linodeobjects.com", "endpoint_type": "E1"},
@@ -30,9 +30,11 @@ interactions:
"endpoint_type": "E1"}, {"id": "us-east", "s3_endpoint": "us-east-1.linodeobjects.com",
"endpoint_type": "E0"}, {"id": "us-iad", "s3_endpoint": "us-iad-1.linodeobjects.com",
"endpoint_type": "E1"}, {"id": "us-lax", "s3_endpoint": "us-lax-1.linodeobjects.com",
- "endpoint_type": "E1"}, {"id": "us-mia", "s3_endpoint": "us-mia-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-lax", "s3_endpoint": "us-lax-4.linodeobjects.com",
+ "endpoint_type": "E3"}, {"id": "us-mia", "s3_endpoint": "us-mia-1.linodeobjects.com",
"endpoint_type": "E1"}, {"id": "us-ord", "s3_endpoint": "us-ord-1.linodeobjects.com",
- "endpoint_type": "E1"}, {"id": "us-sea", "s3_endpoint": "us-sea-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-ord", "s3_endpoint": "us-ord-10.linodeobjects.com",
+ "endpoint_type": "E3"}, {"id": "us-sea", "s3_endpoint": "us-sea-1.linodeobjects.com",
"endpoint_type": "E1"}, {"id": "us-southeast", "s3_endpoint": "us-southeast-1.linodeobjects.com",
"endpoint_type": "E0"}]}'
headers:
@@ -57,7 +59,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:55 GMT
+ - Thu, 30 Apr 2026 20:19:06 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -75,7 +77,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -91,10 +93,10 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/keys/1654584
+ url: https://api.linode.com/v4beta/object-storage/keys/3498035
method: PUT
response:
- body: '{"id": 1654584, "label": "go-test-def_r", "access_key": "[SANITIZED]",
+ body: '{"id": 3498035, "label": "go-test-def_r", "access_key": "[SANITIZED]",
"secret_key": "[REDACTED]", "limited": false, "bucket_access": null, "regions":
[{"id": "ap-south", "s3_endpoint": "ap-south-1.linodeobjects.com", "endpoint_type":
"E0"}, {"id": "br-gru", "s3_endpoint": "br-gru-1.linodeobjects.com", "endpoint_type":
@@ -110,9 +112,11 @@ interactions:
"endpoint_type": "E1"}, {"id": "us-east", "s3_endpoint": "us-east-1.linodeobjects.com",
"endpoint_type": "E0"}, {"id": "us-iad", "s3_endpoint": "us-iad-1.linodeobjects.com",
"endpoint_type": "E1"}, {"id": "us-lax", "s3_endpoint": "us-lax-1.linodeobjects.com",
- "endpoint_type": "E1"}, {"id": "us-mia", "s3_endpoint": "us-mia-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-lax", "s3_endpoint": "us-lax-4.linodeobjects.com",
+ "endpoint_type": "E3"}, {"id": "us-mia", "s3_endpoint": "us-mia-1.linodeobjects.com",
"endpoint_type": "E1"}, {"id": "us-ord", "s3_endpoint": "us-ord-1.linodeobjects.com",
- "endpoint_type": "E1"}, {"id": "us-sea", "s3_endpoint": "us-sea-1.linodeobjects.com",
+ "endpoint_type": "E1"}, {"id": "us-ord", "s3_endpoint": "us-ord-10.linodeobjects.com",
+ "endpoint_type": "E3"}, {"id": "us-sea", "s3_endpoint": "us-sea-1.linodeobjects.com",
"endpoint_type": "E1"}, {"id": "us-southeast", "s3_endpoint": "us-southeast-1.linodeobjects.com",
"endpoint_type": "E0"}]}'
headers:
@@ -137,7 +141,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:56 GMT
+ - Thu, 30 Apr 2026 20:19:07 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -155,7 +159,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -171,7 +175,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/keys/1654584
+ url: https://api.linode.com/v4beta/object-storage/keys/3498035
method: DELETE
response:
body: '{}'
@@ -199,7 +203,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:03:57 GMT
+ - Thu, 30 Apr 2026 20:19:08 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -216,7 +220,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageKeys_Limited.yaml b/test/integration/fixtures/TestObjectStorageKeys_Limited.yaml
index 1b0984136..ff1b13a76 100644
--- a/test/integration/fixtures/TestObjectStorageKeys_Limited.yaml
+++ b/test/integration/fixtures/TestObjectStorageKeys_Limited.yaml
@@ -2,7 +2,7 @@
version: 1
interactions:
- request:
- body: '{"label":"go-test-def","bucket_access":[{"cluster":"us-east-1","region":"us-east","bucket_name":"go-bucket-test-def","permissions":"read_only"},{"cluster":"us-east-1","region":"us-east","bucket_name":"go-bucket-test-def","permissions":"read_write"}]}'
+ body: '{"label":"go-test-def","bucket_access":[{"region":"us-east","bucket_name":"go-bucket-test-def","permissions":"read_only"},{"region":"us-east","bucket_name":"go-bucket-test-def","permissions":"read_write"}]}'
form: {}
headers:
Accept:
@@ -14,7 +14,7 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/keys
method: POST
response:
- body: '{"id": 1654586, "label": "go-test-def", "access_key": "[SANITIZED]", "secret_key":
+ body: '{"id": 3573416, "label": "go-test-def", "access_key": "[SANITIZED]", "secret_key":
"[SANITIZED]", "limited": true, "bucket_access": [{"cluster": "us-east-1", "bucket_name":
"go-bucket-test-def", "permissions": "read_only", "region": "us-east"}, {"cluster":
"us-east-1", "bucket_name": "go-bucket-test-def", "permissions": "read_write",
@@ -44,7 +44,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:04:05 GMT
+ - Wed, 06 May 2026 02:22:18 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -61,7 +61,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -77,7 +77,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/keys/1654586
+ url: https://api.linode.com/v4beta/object-storage/keys/3573416
method: DELETE
response:
body: '{}'
@@ -105,7 +105,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:04:07 GMT
+ - Wed, 06 May 2026 02:22:19 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -122,7 +122,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageKeys_Limited_Bucket.yaml b/test/integration/fixtures/TestObjectStorageKeys_Limited_Bucket.yaml
index 1c01b5723..383843d17 100644
--- a/test/integration/fixtures/TestObjectStorageKeys_Limited_Bucket.yaml
+++ b/test/integration/fixtures/TestObjectStorageKeys_Limited_Bucket.yaml
@@ -42,7 +42,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:04:03 GMT
+ - Wed, 06 May 2026 02:22:14 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -59,7 +59,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -75,7 +75,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-east/go-bucket-test-def
method: DELETE
response:
body: '{}'
@@ -103,7 +103,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:04:10 GMT
+ - Wed, 06 May 2026 02:22:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -120,7 +120,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageKeys_Regional_Limited.yaml b/test/integration/fixtures/TestObjectStorageKeys_Regional_Limited.yaml
index b43393d9d..d067a2ff3 100644
--- a/test/integration/fixtures/TestObjectStorageKeys_Regional_Limited.yaml
+++ b/test/integration/fixtures/TestObjectStorageKeys_Regional_Limited.yaml
@@ -14,292 +14,449 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts"], "status":
- "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, CA", "country":
- "ca", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts"], "status":
- "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country":
- "au", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts"], "status":
- "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nz-akl-1",
+ "label": "Auckland, NZ", "country": "nz", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-den-1", "label": "Denver, CO", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "de-ham-1", "label": "Hamburg, DE", "country": "de", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "za-jnb-1", "label": "Johannesburg, ZA", "country": "za", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "my-kul-1", "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "co-bog-1", "label": "Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "mx-qro-1", "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities":
+ ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed
+ Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-hou-1", "label": "Houston, TX", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "cl-scl-1", "label": "Santiago, CL", "country": "cl", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-iad", "label": "Washington, DC", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-ord", "label": "Chicago, IL", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "fr-par", "label": "Paris, FR", "country":
- "fr", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-sea", "label": "Seattle, WA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers":
- {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "br-gru", "label": "Sao Paulo, BR", "country":
- "br", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country":
- "nl", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-ber-1",
+ "label": "Berlin, DE", "country": "de", "capabilities": ["Linodes", "Disk Encryption",
+ "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance Policy"],
+ "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4":
+ "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "no-osl-1", "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes",
+ "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block
+ Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall",
+ "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium
+ Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country":
- "se", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "es-mad", "label": "Madrid, ES", "country":
- "es", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-maa", "label": "Chennai, IN", "country":
- "in", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U"], "status": "ok",
- "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-rno-1",
+ "label": "Reno, NV", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
+ "Backups", "NodeBalancers", "GPU Linodes", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "", "ipv6":
+ ""}, "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "co-bog-2",
+ "label": "Bogot\u00e1 2, CO", "country": "co", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "fr-mrs-2", "label": "Marseille 2, FR", "country": "fr", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-mia", "label": "Miami, FL", "country": "us", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-osa", "label": "Osaka, JP", "country":
- "jp", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "it-mil", "label": "Milan, IT", "country":
- "it", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-mia", "label": "Miami, FL", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U"], "status": "ok",
- "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "id-cgk", "label": "Jakarta, ID", "country":
- "id", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-lax", "label": "Los Angeles, CA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U"], "status": "ok",
- "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nz-akl-1", "label": "Auckland, NZ", "country":
- "nz", "capabilities": ["Linodes", "Cloud Firewall", "Vlans", "Metadata", "Distributed
- Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0}, "site_type": "distributed"}, {"id": "us-den-1",
- "label": "Denver, CO", "country": "us", "capabilities": ["Linodes", "Cloud Firewall",
- "Vlans", "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4":
- "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "de-ham-1", "label": "Hamburg, DE",
- "country": "de", "capabilities": ["Linodes", "Cloud Firewall", "Vlans", "Metadata",
- "Distributed Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0}, "site_type": "distributed"}, {"id": "fr-mrs-1",
- "label": "Marseille, FR", "country": "fr", "capabilities": ["Linodes", "Cloud
- Firewall", "Vlans", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "za-jnb-1", "label": "Johannesburg,
- ZA", "country": "za", "capabilities": ["Linodes", "Cloud Firewall", "Vlans",
- "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0}, "site_type": "distributed"}, {"id": "my-kul-1",
- "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes", "Cloud
- Firewall", "Vlans", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "co-bog-1", "label": "Bogot\u00e1, CO",
- "country": "co", "capabilities": ["Linodes", "Cloud Firewall", "Vlans", "Metadata",
- "Distributed Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0}, "site_type": "distributed"}, {"id": "mx-qro-1",
- "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities": ["Linodes",
- "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans"], "status": "ok",
- "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "us-hou-1", "label": "Houston, TX",
- "country": "us", "capabilities": ["Linodes", "Cloud Firewall", "Vlans", "Metadata",
- "Distributed Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 0, "maximum_linodes_per_pg": 0}, "site_type": "distributed"}, {"id": "cl-scl-1",
- "label": "Santiago, CL", "country": "cl", "capabilities": ["Linodes", "Cloud
- Firewall", "Vlans", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
- 0}, "site_type": "distributed"}, {"id": "gb-lon", "label": "London 2, UK", "country":
- "gb", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
- Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "au-mel", "label": "Melbourne, AU", "country":
- "au", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
- Group", "StackScripts", "NETINT Quadra T1U"], "status": "ok", "resolvers": {"ipv4":
- "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-bom-2", "label": "Mumbai 2, IN", "country":
- "in", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts"],
- "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "de-fra-2", "label": "Frankfurt 2, DE", "country":
- "de", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U"], "status": "ok", "resolvers": {"ipv4":
- "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "sg-sin-2", "label": "Singapore 2, SG", "country":
- "sg", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-tyo-3", "label": "Tokyo 3, JP", "country":
- "jp", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts"],
- "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX", "country":
- "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts"], "status":
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
"ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
- "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts"], "status": "ok",
- "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
- "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4": "66.228.42.5,
- 96.126.106.5, 50.116.53.5, 50.116.58.5, 50.116.61.5, 50.116.62.5, 66.175.211.5,
- 97.107.133.4, 207.192.69.4, 207.192.69.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts"],
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
"status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts"],
- "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country":
- "de", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country":
- "jp", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts"], "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 41}'
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 47}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -322,7 +479,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:04:11 GMT
+ - Wed, 06 May 2026 02:22:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -341,14 +498,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"region":"us-iad","label":"go-bucket-test-def"}'
+ body: '{"region":"au-mel","label":"go-bucket-test-defgo-test-def-regional"}'
form: {}
headers:
Accept:
@@ -360,10 +517,10 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/buckets
method: POST
response:
- body: '{"hostname": "go-bucket-test-def.us-iad-1.linodeobjects.com", "label":
- "go-bucket-test-def", "created": "2018-01-02T03:04:05", "region": "us-iad",
- "cluster": "us-iad-1", "size": 0, "objects": 0, "endpoint_type": "E1", "s3_endpoint":
- "us-iad-1.linodeobjects.com"}'
+ body: '{"hostname": "go-bucket-test-defgo-test-def-regional.au-mel-1.linodeobjects.com",
+ "label": "go-bucket-test-defgo-test-def-regional", "created": "2018-01-02T03:04:05",
+ "region": "au-mel", "cluster": "", "size": 0, "objects": 0, "endpoint_type":
+ "E2", "s3_endpoint": "au-mel-1.linodeobjects.com"}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -382,13 +539,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "262"
+ - "294"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:04:13 GMT
+ - Wed, 06 May 2026 02:22:29 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -405,14 +562,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-test-def","bucket_access":[{"region":"us-iad","bucket_name":"go-bucket-test-def","permissions":"read_only"}],"regions":["us-iad"]}'
+ body: '{"label":"go-test-def","bucket_access":[{"region":"au-mel","bucket_name":"go-bucket-test-defgo-test-def-regional","permissions":"read_only"}],"regions":["au-mel"]}'
form: {}
headers:
Accept:
@@ -424,11 +581,11 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/keys
method: POST
response:
- body: '{"id": 1654587, "label": "go-test-def", "access_key": "[SANITIZED]", "secret_key":
- "[SANITIZED]", "limited": true, "bucket_access": [{"cluster": "us-iad-1", "bucket_name":
- "go-bucket-test-def", "permissions": "read_only", "region": "us-iad"}], "regions":
- [{"id": "us-iad", "s3_endpoint": "us-iad-1.linodeobjects.com", "endpoint_type":
- "E1"}]}'
+ body: '{"id": 3573417, "label": "go-test-def", "access_key": "[SANITIZED]", "secret_key":
+ "[SANITIZED]", "limited": true, "bucket_access": [{"cluster": "", "bucket_name":
+ "go-bucket-test-defgo-test-def-regional", "permissions": "read_only", "region":
+ "au-mel"}], "regions": [{"id": "au-mel", "s3_endpoint": "au-mel-1.linodeobjects.com",
+ "endpoint_type": "E2"}]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -447,13 +604,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "380"
+ - "392"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:04:14 GMT
+ - Wed, 06 May 2026 02:22:36 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -470,14 +627,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"regions":["us-iad","us-mia"]}'
+ body: '{"regions":["au-mel","us-mia"]}'
form: {}
headers:
Accept:
@@ -486,15 +643,15 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/keys/1654587
+ url: https://api.linode.com/v4beta/object-storage/keys/3573417
method: PUT
response:
- body: '{"id": 1654587, "label": "go-test-def", "access_key": "[SANITIZED]", "secret_key":
- "[REDACTED]", "limited": true, "bucket_access": [{"cluster": "us-iad-1", "bucket_name":
- "go-bucket-test-def", "permissions": "read_only", "region": "us-iad"}], "regions":
- [{"id": "us-iad", "s3_endpoint": "us-iad-1.linodeobjects.com", "endpoint_type":
- "E1"}, {"id": "us-mia", "s3_endpoint": "us-mia-1.linodeobjects.com", "endpoint_type":
- "E1"}]}'
+ body: '{"id": 3573417, "label": "go-test-def", "access_key": "[SANITIZED]", "secret_key":
+ "[REDACTED]", "limited": true, "bucket_access": [{"cluster": "", "bucket_name":
+ "go-bucket-test-defgo-test-def-regional", "permissions": "read_only", "region":
+ "au-mel"}], "regions": [{"id": "au-mel", "s3_endpoint": "au-mel-1.linodeobjects.com",
+ "endpoint_type": "E2"}, {"id": "us-mia", "s3_endpoint": "us-mia-1.linodeobjects.com",
+ "endpoint_type": "E1"}]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -513,13 +670,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "436"
+ - "448"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:04:15 GMT
+ - Wed, 06 May 2026 02:22:39 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -536,7 +693,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -552,7 +709,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/keys/1654587
+ url: https://api.linode.com/v4beta/object-storage/keys/3573417
method: DELETE
response:
body: '{}'
@@ -580,7 +737,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:04:16 GMT
+ - Wed, 06 May 2026 02:22:42 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -597,7 +754,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -613,7 +770,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-iad-1/go-bucket-test-def
+ url: https://api.linode.com/v4beta/object-storage/buckets/au-mel/go-bucket-test-defgo-test-def-regional
method: DELETE
response:
body: '{}'
@@ -641,7 +798,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 06:04:29 GMT
+ - Wed, 06 May 2026 02:22:51 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -658,7 +815,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageObject_ACLConfig_Bucket_Delete.yaml b/test/integration/fixtures/TestObjectStorageObject_ACLConfig_Bucket_Delete.yaml
index 868fe0b01..3e0b2f5c8 100644
--- a/test/integration/fixtures/TestObjectStorageObject_ACLConfig_Bucket_Delete.yaml
+++ b/test/integration/fixtures/TestObjectStorageObject_ACLConfig_Bucket_Delete.yaml
@@ -5,7 +5,7 @@ interactions:
body: ""
form: {}
headers: {}
- url: https://us-east-1.linodeobjects.com:443/go-bucket-test-def/test?Signature=q40b1QCD%2FE5YyfsAW%2Fl5vZNfiRs%3D&Expires=1736322799&AWSAccessKeyID=SANITIZED
+ url: https://us-east-1.linodeobjects.com:443/go-bucket-test-def/test?Signature=AR8zXFhZ7YiFXg5d92BWdbftFNk%3D&Expires=1777580764&AWSAccessKeyID=SANITIZED
method: DELETE
response:
body: ""
@@ -13,7 +13,7 @@ interactions:
Connection:
- keep-alive
X-Amz-Request-Id:
- - tx000003f312b97ed86260d-00677e2d87-f1a4821b-default
+ - tx00000d61d93b8872788f2-0069f3b974-18c2cc906-default
status: 204 No Content
code: 204
duration: ""
diff --git a/test/integration/fixtures/TestObjectStorageObject_ACLConfig_Bucket_Put.yaml b/test/integration/fixtures/TestObjectStorageObject_ACLConfig_Bucket_Put.yaml
index 5d7ccf6ad..74d078e75 100644
--- a/test/integration/fixtures/TestObjectStorageObject_ACLConfig_Bucket_Put.yaml
+++ b/test/integration/fixtures/TestObjectStorageObject_ACLConfig_Bucket_Put.yaml
@@ -7,7 +7,7 @@ interactions:
headers:
Content-Type:
- text/plain
- url: https://us-east-1.linodeobjects.com:443/go-bucket-test-def/test?Signature=UZqhNnak%2FwLVHy0HB2TW87rl%2Baw%3D&Expires=1736322791&AWSAccessKeyID=SANITIZED
+ url: https://us-east-1.linodeobjects.com:443/go-bucket-test-def/test?Signature=uVC0ROXSh0pzdkwt%2FSF6aO8sSUE%3D&Expires=1777580757&AWSAccessKeyID=SANITIZED
method: PUT
response:
body: ""
@@ -21,7 +21,7 @@ interactions:
Etag:
- '"7f2ababa423061c509f4923dd04b6cf1"'
X-Amz-Request-Id:
- - tx000003d8b04716d761fbb-00677e2d7f-ef83577d-default
+ - tx00000a96d0bdfc69b8814-0069f3b96d-18c2db3f1-default
status: 200 OK
code: 200
duration: ""
diff --git a/test/integration/fixtures/TestObjectStorageObject_Smoke.yaml b/test/integration/fixtures/TestObjectStorageObject_Smoke.yaml
index 5898e1fd9..17e6e4c1e 100644
--- a/test/integration/fixtures/TestObjectStorageObject_Smoke.yaml
+++ b/test/integration/fixtures/TestObjectStorageObject_Smoke.yaml
@@ -42,7 +42,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:47:09 GMT
+ - Thu, 30 Apr 2026 20:19:55 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -59,7 +59,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "60"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -75,10 +75,10 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def/object-url
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-east/go-bucket-test-def/object-url
method: POST
response:
- body: '{"url": "https://us-east-1.linodeobjects.com:443/go-bucket-test-def/test?Signature=UZqhNnak%2FwLVHy0HB2TW87rl%2Baw%3D&Expires=1736322791&AWSAccessKeyID=SANITIZED",
+ body: '{"url": "https://us-east-1.linodeobjects.com:443/go-bucket-test-def/test?Signature=uVC0ROXSh0pzdkwt%2FSF6aO8sSUE%3D&Expires=1777580757&AWSAccessKeyID=SANITIZED",
"exists": false}'
headers:
Access-Control-Allow-Credentials:
@@ -98,13 +98,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "191"
+ - "189"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:47:11 GMT
+ - Thu, 30 Apr 2026 20:19:57 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -121,7 +121,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -137,11 +137,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def/object-acl?name=test
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-east/go-bucket-test-def/object-acl?name=test
method: GET
response:
- body: '{"acl": "private", "acl_xml": "c9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936FULL_CONTROL"}'
+ body: '{"acl": "private", "acl_xml": "640757b5-ebe9-45b1-abd5-581f215ef89e640757b5-ebe9-45b1-abd5-581f215ef89e640757b5-ebe9-45b1-abd5-581f215ef89e640757b5-ebe9-45b1-abd5-581f215ef89eFULL_CONTROL"}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -166,7 +166,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:47:12 GMT
+ - Thu, 30 Apr 2026 20:19:58 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -184,7 +184,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -200,74 +200,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def/object-acl?name=test
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-east/go-bucket-test-def/object-list
method: GET
response:
- body: '{"acl": "private", "acl_xml": "c9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936FULL_CONTROL"}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "550"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 08 Jan 2025 07:47:13 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - object_storage:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def/object-list
- method: GET
- response:
- body: '{"data": [{"name": "test", "size": 10, "last_modified": "2018-01-02T03:04:05.723Z",
- "etag": "7f2ababa423061c509f4923dd04b6cf1", "owner": "c9539a32-3ece-47dd-a9a4-40bbfa5a2936"}],
+ body: '{"data": [{"name": "test", "size": 10, "last_modified": "2018-01-02T03:04:05.368Z",
+ "etag": "7f2ababa423061c509f4923dd04b6cf1", "owner": "640757b5-ebe9-45b1-abd5-581f215ef89e"}],
"next_marker": null, "is_truncated": false}'
headers:
Access-Control-Allow-Credentials:
@@ -293,7 +230,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:47:14 GMT
+ - Thu, 30 Apr 2026 20:19:59 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -311,7 +248,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -327,7 +264,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def/object-acl
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-east/go-bucket-test-def/object-acl
method: PUT
response:
body: '{}'
@@ -355,7 +292,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:47:15 GMT
+ - Thu, 30 Apr 2026 20:20:00 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -372,132 +309,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: '{"name":"test","acl":"public-read"}'
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def/object-acl
- method: PUT
- response:
- body: '{}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "2"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 08 Jan 2025 07:47:16 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - object_storage:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
-- request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def/object-acl?name=test
- method: GET
- response:
- body: '{"acl": "public-read", "acl_xml": "c9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936http://acs.amazonaws.com/groups/global/AllUsersREADc9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936FULL_CONTROL"}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "750"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Wed, 08 Jan 2025 07:47:17 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - object_storage:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -513,12 +325,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def/object-acl?name=test
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-east/go-bucket-test-def/object-acl?name=test
method: GET
response:
- body: '{"acl": "public-read", "acl_xml": "c9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936640757b5-ebe9-45b1-abd5-581f215ef89e640757b5-ebe9-45b1-abd5-581f215ef89ehttp://acs.amazonaws.com/groups/global/AllUsersREADc9539a32-3ece-47dd-a9a4-40bbfa5a2936c9539a32-3ece-47dd-a9a4-40bbfa5a2936FULL_CONTROL"}'
+ xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\">640757b5-ebe9-45b1-abd5-581f215ef89e640757b5-ebe9-45b1-abd5-581f215ef89eFULL_CONTROL"}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -543,7 +355,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:47:17 GMT
+ - Thu, 30 Apr 2026 20:20:02 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -561,7 +373,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -577,10 +389,10 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def/object-url
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-east/go-bucket-test-def/object-url
method: POST
response:
- body: '{"url": "https://us-east-1.linodeobjects.com:443/go-bucket-test-def/test?Signature=q40b1QCD%2FE5YyfsAW%2Fl5vZNfiRs%3D&Expires=1736322799&AWSAccessKeyID=SANITIZED",
+ body: '{"url": "https://us-east-1.linodeobjects.com:443/go-bucket-test-def/test?Signature=AR8zXFhZ7YiFXg5d92BWdbftFNk%3D&Expires=1777580764&AWSAccessKeyID=SANITIZED",
"exists": true}'
headers:
Access-Control-Allow-Credentials:
@@ -600,13 +412,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "190"
+ - "186"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:47:19 GMT
+ - Thu, 30 Apr 2026 20:20:04 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -623,7 +435,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -639,7 +451,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/buckets/us-east-1/go-bucket-test-def
+ url: https://api.linode.com/v4beta/object-storage/buckets/us-east/go-bucket-test-def
method: DELETE
response:
body: '{}'
@@ -667,7 +479,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Wed, 08 Jan 2025 07:47:22 GMT
+ - Thu, 30 Apr 2026 20:20:06 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -684,7 +496,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageQuotaUsage_Get.yaml b/test/integration/fixtures/TestObjectStorageQuotaUsage_Get.yaml
index 04a756093..0eb91b3d8 100644
--- a/test/integration/fixtures/TestObjectStorageQuotaUsage_Get.yaml
+++ b/test/integration/fixtures/TestObjectStorageQuotaUsage_Get.yaml
@@ -11,7 +11,615 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/quotas/obj-objects-us-ord-1.linodeobjects.com/usage
+ url: https://api.linode.com/v4beta/object-storage/quotas?page=1
+ method: GET
+ response:
+ body: '{"data": [{"quota_id": "obj-bytes-au-mel-1.linodeobjects.com", "quota_name":
+ "Total Capacity", "quota_type": "obj-bytes", "endpoint_type": "E2", "s3_endpoint":
+ "au-mel-1.linodeobjects.com", "description": "Current total capacity per account,
+ per endpoint", "quota_limit": 109951162777600, "resource_metric": "byte", "has_usage":
+ true}, {"quota_id": "obj-objects-au-mel-1.linodeobjects.com", "quota_name":
+ "Number of Objects", "quota_type": "obj-objects", "endpoint_type": "E2", "s3_endpoint":
+ "au-mel-1.linodeobjects.com", "description": "Current number of objects per
+ account, per endpoint", "quota_limit": 100000000, "resource_metric": "object",
+ "has_usage": true}, {"quota_id": "obj-buckets-au-mel-1.linodeobjects.com", "quota_name":
+ "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type": "E2", "s3_endpoint":
+ "au-mel-1.linodeobjects.com", "description": "Current number of buckets per
+ account, per endpoint", "quota_limit": 1000, "resource_metric": "bucket", "has_usage":
+ true}, {"quota_id": "obj-total-ingress-throughput-au-mel-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-au-mel-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-au-mel-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-au-mel-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-br-gru-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "br-gru-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-br-gru-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "br-gru-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-br-gru-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "br-gru-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-es-mad-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "es-mad-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-es-mad-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "es-mad-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-es-mad-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "es-mad-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-gb-lon-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-gb-lon-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-gb-lon-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-gb-lon-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-gb-lon-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-gb-lon-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-gb-lon-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-in-bom-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-in-bom-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-in-bom-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-in-bom-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-in-bom-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-in-bom-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-in-bom-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-us-lax-4.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-lax-4.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-lax-4.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-us-lax-4.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-us-lax-4.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-us-lax-4.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-us-lax-4.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-ap-south-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E0", "s3_endpoint": "ap-south-1.linodeobjects.com", "description": "Current
+ total capacity per account, per endpoint", "quota_limit": 54975581388800, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-ap-south-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E0", "s3_endpoint": "ap-south-1.linodeobjects.com", "description": "Current
+ number of objects per account, per endpoint", "quota_limit": 50000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-ap-south-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E0", "s3_endpoint": "ap-south-1.linodeobjects.com", "description": "Current
+ number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-eu-central-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E0", "s3_endpoint": "eu-central-1.linodeobjects.com", "description": "Current
+ total capacity per account, per endpoint", "quota_limit": 54975581388800, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-eu-central-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E0", "s3_endpoint": "eu-central-1.linodeobjects.com", "description": "Current
+ number of objects per account, per endpoint", "quota_limit": 50000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-eu-central-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E0", "s3_endpoint": "eu-central-1.linodeobjects.com", "description": "Current
+ number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-mia-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "us-mia-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-mia-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "us-mia-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-mia-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-mia-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-lax-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "us-lax-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-lax-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "us-lax-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-lax-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-lax-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-id-cgk-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "id-cgk-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-id-cgk-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "id-cgk-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-id-cgk-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "id-cgk-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-fr-par-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "fr-par-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-fr-par-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "fr-par-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-fr-par-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "fr-par-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-it-mil-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "it-mil-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-it-mil-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "it-mil-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-it-mil-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "it-mil-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-iad-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "us-iad-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-iad-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "us-iad-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-iad-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-iad-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-de-fra-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "de-fra-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-de-fra-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "de-fra-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-de-fra-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "de-fra-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-de-fra-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "de-fra-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-de-fra-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "de-fra-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-de-fra-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "de-fra-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-de-fra-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "de-fra-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-in-maa-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "in-maa-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-in-maa-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "in-maa-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-in-maa-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "in-maa-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-nl-ams-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-nl-ams-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-nl-ams-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-sg-sin-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-sg-sin-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-sg-sin-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-sg-sin-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-sg-sin-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-sg-sin-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-sg-sin-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-us-sea-9.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-sea-9.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-sea-9.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-us-sea-9.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-us-sea-9.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-us-sea-9.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-us-sea-9.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-jp-tyo-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-jp-tyo-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-jp-tyo-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-jp-tyo-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-jp-tyo-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-jp-tyo-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-jp-tyo-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-us-southeast-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com", "description": "Current
+ total capacity per account, per endpoint", "quota_limit": 54975581388800, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-southeast-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com", "description": "Current
+ number of objects per account, per endpoint", "quota_limit": 50000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-southeast-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com", "description": "Current
+ number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-ord-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "us-ord-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-ord-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "us-ord-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-ord-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-ord-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-sea-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "us-sea-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-sea-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "us-sea-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}], "page": 1, "pages": 2, "results": 117}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 03 Jun 2026 14:01:43 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/quotas?page=2
+ method: GET
+ response:
+ body: '{"data": [{"quota_id": "obj-per-ip-egress-throughput-us-sea-9.linodeobjects.com",
+ "quota_name": "Egress Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description":
+ "Current egress bandwidth per account, per destination IP address", "quota_limit":
+ 250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-bytes-us-ord-1.linodeobjects.com", "quota_name": "Total Capacity", "quota_type":
+ "obj-bytes", "endpoint_type": "E1", "s3_endpoint": "us-ord-1.linodeobjects.com",
+ "description": "Current total capacity per account, per endpoint", "quota_limit":
+ 109951162777600, "resource_metric": "byte", "has_usage": true}, {"quota_id":
+ "obj-objects-us-ord-1.linodeobjects.com", "quota_name": "Number of Objects",
+ "quota_type": "obj-objects", "endpoint_type": "E1", "s3_endpoint": "us-ord-1.linodeobjects.com",
+ "description": "Current number of objects per account, per endpoint", "quota_limit":
+ 100000000, "resource_metric": "object", "has_usage": true}, {"quota_id": "obj-buckets-us-ord-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-ord-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-fr-par-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "fr-par-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-fr-par-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "fr-par-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-fr-par-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "fr-par-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-lax-4.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-lax-4.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-lax-4.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-us-lax-4.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-us-lax-4.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-us-lax-4.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-us-lax-4.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-us-east-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E0", "s3_endpoint": "us-east-1.linodeobjects.com", "description": "Current
+ total capacity per account, per endpoint", "quota_limit": 54975581388800, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-east-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E0", "s3_endpoint": "us-east-1.linodeobjects.com", "description": "Current
+ number of objects per account, per endpoint", "quota_limit": 50000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-east-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E0", "s3_endpoint": "us-east-1.linodeobjects.com", "description": "Current
+ number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}], "page": 2, "pages": 2, "results": 117}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 03 Jun 2026 14:01:44 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/quotas/obj-objects-au-mel-1.linodeobjects.com/usage
method: GET
response:
body: '{"quota_limit": 100000000, "usage": 0}'
@@ -39,7 +647,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 24 Apr 2025 17:38:48 GMT
+ - Wed, 03 Jun 2026 14:01:47 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -57,7 +665,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageQuotas_Get.yaml b/test/integration/fixtures/TestObjectStorageQuotas_Get.yaml
index ee0134099..549d0481c 100644
--- a/test/integration/fixtures/TestObjectStorageQuotas_Get.yaml
+++ b/test/integration/fixtures/TestObjectStorageQuotas_Get.yaml
@@ -11,13 +11,618 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/object-storage/quotas/obj-objects-us-ord-1.linodeobjects.com
+ url: https://api.linode.com/v4beta/object-storage/quotas?page=1
method: GET
response:
- body: '{"quota_id": "obj-objects-us-ord-1.linodeobjects.com", "quota_name": "max_objects",
- "endpoint_type": "E1", "s3_endpoint": "us-ord-1.linodeobjects.com", "description":
- "Maximum number of objects this customer is allowed to have on this endpoint",
- "quota_limit": 100000000, "resource_metric": "object", "quota_type": "obj-objects",
+ body: '{"data": [{"quota_id": "obj-bytes-id-cgk-1.linodeobjects.com", "quota_name":
+ "Total Capacity", "quota_type": "obj-bytes", "endpoint_type": "E1", "s3_endpoint":
+ "id-cgk-1.linodeobjects.com", "description": "Current total capacity per account,
+ per endpoint", "quota_limit": 109951162777600, "resource_metric": "byte", "has_usage":
+ true}, {"quota_id": "obj-objects-id-cgk-1.linodeobjects.com", "quota_name":
+ "Number of Objects", "quota_type": "obj-objects", "endpoint_type": "E1", "s3_endpoint":
+ "id-cgk-1.linodeobjects.com", "description": "Current number of objects per
+ account, per endpoint", "quota_limit": 100000000, "resource_metric": "object",
+ "has_usage": true}, {"quota_id": "obj-buckets-id-cgk-1.linodeobjects.com", "quota_name":
+ "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type": "E1", "s3_endpoint":
+ "id-cgk-1.linodeobjects.com", "description": "Current number of buckets per
+ account, per endpoint", "quota_limit": 1000, "resource_metric": "bucket", "has_usage":
+ true}, {"quota_id": "obj-bytes-in-maa-1.linodeobjects.com", "quota_name": "Total
+ Capacity", "quota_type": "obj-bytes", "endpoint_type": "E1", "s3_endpoint":
+ "in-maa-1.linodeobjects.com", "description": "Current total capacity per account,
+ per endpoint", "quota_limit": 109951162777600, "resource_metric": "byte", "has_usage":
+ true}, {"quota_id": "obj-objects-in-maa-1.linodeobjects.com", "quota_name":
+ "Number of Objects", "quota_type": "obj-objects", "endpoint_type": "E1", "s3_endpoint":
+ "in-maa-1.linodeobjects.com", "description": "Current number of objects per
+ account, per endpoint", "quota_limit": 100000000, "resource_metric": "object",
+ "has_usage": true}, {"quota_id": "obj-buckets-in-maa-1.linodeobjects.com", "quota_name":
+ "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type": "E1", "s3_endpoint":
+ "in-maa-1.linodeobjects.com", "description": "Current number of buckets per
+ account, per endpoint", "quota_limit": 1000, "resource_metric": "bucket", "has_usage":
+ true}, {"quota_id": "obj-bytes-us-southeast-1.linodeobjects.com", "quota_name":
+ "Total Capacity", "quota_type": "obj-bytes", "endpoint_type": "E0", "s3_endpoint":
+ "us-southeast-1.linodeobjects.com", "description": "Current total capacity per
+ account, per endpoint", "quota_limit": 54975581388800, "resource_metric": "byte",
+ "has_usage": true}, {"quota_id": "obj-objects-us-southeast-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com", "description": "Current
+ number of objects per account, per endpoint", "quota_limit": 50000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-southeast-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com", "description": "Current
+ number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-east-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E0", "s3_endpoint": "us-east-1.linodeobjects.com", "description": "Current
+ total capacity per account, per endpoint", "quota_limit": 54975581388800, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-east-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E0", "s3_endpoint": "us-east-1.linodeobjects.com", "description": "Current
+ number of objects per account, per endpoint", "quota_limit": 50000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-east-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E0", "s3_endpoint": "us-east-1.linodeobjects.com", "description": "Current
+ number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-au-mel-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-au-mel-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-au-mel-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-au-mel-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-au-mel-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-au-mel-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-au-mel-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-es-mad-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "es-mad-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-es-mad-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "es-mad-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-es-mad-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "es-mad-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-se-sto-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "se-sto-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-se-sto-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "se-sto-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-se-sto-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "se-sto-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-lax-4.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-lax-4.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-lax-4.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-us-lax-4.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-us-lax-4.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-us-lax-4.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-us-lax-4.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-eu-central-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E0", "s3_endpoint": "eu-central-1.linodeobjects.com", "description": "Current
+ total capacity per account, per endpoint", "quota_limit": 54975581388800, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-eu-central-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E0", "s3_endpoint": "eu-central-1.linodeobjects.com", "description": "Current
+ number of objects per account, per endpoint", "quota_limit": 50000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-eu-central-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E0", "s3_endpoint": "eu-central-1.linodeobjects.com", "description": "Current
+ number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-nl-ams-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-nl-ams-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-nl-ams-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-it-mil-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "it-mil-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-it-mil-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "it-mil-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-it-mil-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "it-mil-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-br-gru-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "br-gru-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-br-gru-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "br-gru-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-br-gru-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "br-gru-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-gb-lon-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-gb-lon-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-gb-lon-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-gb-lon-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-gb-lon-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-gb-lon-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-gb-lon-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-fr-par-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "fr-par-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-fr-par-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "fr-par-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-fr-par-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "fr-par-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-sea-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "us-sea-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-sea-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "us-sea-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-sea-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-sea-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-ord-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "us-ord-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-ord-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "us-ord-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-ord-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-ord-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-mia-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "us-mia-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-mia-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "us-mia-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-mia-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-mia-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-jp-osa-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-jp-osa-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-jp-osa-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-iad-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "us-iad-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-iad-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "us-iad-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-iad-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-iad-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-ap-south-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E0", "s3_endpoint": "ap-south-1.linodeobjects.com", "description": "Current
+ total capacity per account, per endpoint", "quota_limit": 54975581388800, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-ap-south-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E0", "s3_endpoint": "ap-south-1.linodeobjects.com", "description": "Current
+ number of objects per account, per endpoint", "quota_limit": 50000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-ap-south-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E0", "s3_endpoint": "ap-south-1.linodeobjects.com", "description": "Current
+ number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-in-bom-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-in-bom-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-in-bom-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-in-bom-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-in-bom-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-in-bom-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-in-bom-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-us-lax-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "us-lax-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-lax-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "us-lax-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-lax-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-lax-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-jp-tyo-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-jp-tyo-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-jp-tyo-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-jp-tyo-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-jp-tyo-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-jp-tyo-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-jp-tyo-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-us-sea-9.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-sea-9.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-sea-9.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-us-sea-9.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-us-sea-9.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-us-sea-9.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-us-sea-9.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-sg-sin-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-sg-sin-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-sg-sin-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-sg-sin-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}], "page":
+ 1, "pages": 2, "results": 117}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 03 Jun 2026 14:01:41 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/quotas?page=2
+ method: GET
+ response:
+ body: '{"data": [{"quota_id": "obj-per-ip-egress-throughput-jp-tyo-1.linodeobjects.com",
+ "quota_name": "Egress Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description":
+ "Current egress bandwidth per account, per destination IP address", "quota_limit":
+ 250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-bytes-us-ord-1.linodeobjects.com", "quota_name": "Total Capacity", "quota_type":
+ "obj-bytes", "endpoint_type": "E1", "s3_endpoint": "us-ord-1.linodeobjects.com",
+ "description": "Current total capacity per account, per endpoint", "quota_limit":
+ 109951162777600, "resource_metric": "byte", "has_usage": true}, {"quota_id":
+ "obj-objects-us-ord-1.linodeobjects.com", "quota_name": "Number of Objects",
+ "quota_type": "obj-objects", "endpoint_type": "E1", "s3_endpoint": "us-ord-1.linodeobjects.com",
+ "description": "Current number of objects per account, per endpoint", "quota_limit":
+ 100000000, "resource_metric": "object", "has_usage": true}, {"quota_id": "obj-buckets-us-ord-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-ord-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-br-gru-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "br-gru-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-br-gru-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "br-gru-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-br-gru-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "br-gru-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-au-mel-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-au-mel-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-au-mel-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-au-mel-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-au-mel-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-au-mel-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-au-mel-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-us-lax-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "us-lax-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-lax-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "us-lax-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-lax-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-lax-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}], "page": 2, "pages": 2, "results": 117}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 03 Jun 2026 14:01:42 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/quotas/obj-objects-id-cgk-1.linodeobjects.com
+ method: GET
+ response:
+ body: '{"quota_id": "obj-objects-id-cgk-1.linodeobjects.com", "quota_name": "Number
+ of Objects", "quota_type": "obj-objects", "endpoint_type": "E1", "s3_endpoint":
+ "id-cgk-1.linodeobjects.com", "description": "Current number of objects per
+ account, per endpoint", "quota_limit": 100000000, "resource_metric": "object",
"has_usage": true}'
headers:
Access-Control-Allow-Credentials:
@@ -37,13 +642,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "300"
+ - "330"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 24 Apr 2025 17:38:46 GMT
+ - Wed, 03 Jun 2026 14:01:42 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -61,7 +666,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestObjectStorageQuotas_List.yaml b/test/integration/fixtures/TestObjectStorageQuotas_List.yaml
index 7941017e8..6b69dfe72 100644
--- a/test/integration/fixtures/TestObjectStorageQuotas_List.yaml
+++ b/test/integration/fixtures/TestObjectStorageQuotas_List.yaml
@@ -14,154 +14,70 @@ interactions:
url: https://api.linode.com/v4beta/object-storage/quotas?page=1
method: GET
response:
- body: '{"data": [{"quota_id": "obj-bytes-br-gru-1.linodeobjects.com", "quota_name":
- "Total Capacity", "quota_type": "obj-bytes", "endpoint_type": "E1", "s3_endpoint":
- "br-gru-1.linodeobjects.com", "description": "Current total capacity per account,
+ body: '{"data": [{"quota_id": "obj-bytes-au-mel-1.linodeobjects.com", "quota_name":
+ "Total Capacity", "quota_type": "obj-bytes", "endpoint_type": "E2", "s3_endpoint":
+ "au-mel-1.linodeobjects.com", "description": "Current total capacity per account,
per endpoint", "quota_limit": 109951162777600, "resource_metric": "byte", "has_usage":
- true}, {"quota_id": "obj-objects-br-gru-1.linodeobjects.com", "quota_name":
- "Number of Objects", "quota_type": "obj-objects", "endpoint_type": "E1", "s3_endpoint":
- "br-gru-1.linodeobjects.com", "description": "Current number of objects per
- account, per endpoint", "quota_limit": 100000000, "resource_metric": "object",
- "has_usage": true}, {"quota_id": "obj-buckets-br-gru-1.linodeobjects.com", "quota_name":
- "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type": "E1", "s3_endpoint":
- "br-gru-1.linodeobjects.com", "description": "Current number of buckets per
- account, per endpoint", "quota_limit": 1000, "resource_metric": "bucket", "has_usage":
- true}, {"quota_id": "obj-bytes-us-sea-1.linodeobjects.com", "quota_name": "Total
- Capacity", "quota_type": "obj-bytes", "endpoint_type": "E1", "s3_endpoint":
- "us-sea-1.linodeobjects.com", "description": "Current total capacity per account,
- per endpoint", "quota_limit": 109951162777600, "resource_metric": "byte", "has_usage":
- true}, {"quota_id": "obj-objects-us-sea-1.linodeobjects.com", "quota_name":
- "Number of Objects", "quota_type": "obj-objects", "endpoint_type": "E1", "s3_endpoint":
- "us-sea-1.linodeobjects.com", "description": "Current number of objects per
- account, per endpoint", "quota_limit": 100000000, "resource_metric": "object",
- "has_usage": true}, {"quota_id": "obj-buckets-us-sea-1.linodeobjects.com", "quota_name":
- "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type": "E1", "s3_endpoint":
- "us-sea-1.linodeobjects.com", "description": "Current number of buckets per
- account, per endpoint", "quota_limit": 1000, "resource_metric": "bucket", "has_usage":
- true}, {"quota_id": "obj-bytes-id-cgk-1.linodeobjects.com", "quota_name": "Total
- Capacity", "quota_type": "obj-bytes", "endpoint_type": "E1", "s3_endpoint":
- "id-cgk-1.linodeobjects.com", "description": "Current total capacity per account,
- per endpoint", "quota_limit": 109951162777600, "resource_metric": "byte", "has_usage":
- true}, {"quota_id": "obj-objects-id-cgk-1.linodeobjects.com", "quota_name":
- "Number of Objects", "quota_type": "obj-objects", "endpoint_type": "E1", "s3_endpoint":
- "id-cgk-1.linodeobjects.com", "description": "Current number of objects per
- account, per endpoint", "quota_limit": 100000000, "resource_metric": "object",
- "has_usage": true}, {"quota_id": "obj-buckets-id-cgk-1.linodeobjects.com", "quota_name":
- "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type": "E1", "s3_endpoint":
- "id-cgk-1.linodeobjects.com", "description": "Current number of buckets per
- account, per endpoint", "quota_limit": 1000, "resource_metric": "bucket", "has_usage":
- true}, {"quota_id": "obj-bytes-us-iad-1.linodeobjects.com", "quota_name": "Total
- Capacity", "quota_type": "obj-bytes", "endpoint_type": "E1", "s3_endpoint":
- "us-iad-1.linodeobjects.com", "description": "Current total capacity per account,
- per endpoint", "quota_limit": 109951162777600, "resource_metric": "byte", "has_usage":
- true}, {"quota_id": "obj-objects-us-iad-1.linodeobjects.com", "quota_name":
- "Number of Objects", "quota_type": "obj-objects", "endpoint_type": "E1", "s3_endpoint":
- "us-iad-1.linodeobjects.com", "description": "Current number of objects per
- account, per endpoint", "quota_limit": 100000000, "resource_metric": "object",
- "has_usage": true}, {"quota_id": "obj-buckets-us-iad-1.linodeobjects.com", "quota_name":
- "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type": "E1", "s3_endpoint":
- "us-iad-1.linodeobjects.com", "description": "Current number of buckets per
- account, per endpoint", "quota_limit": 1000, "resource_metric": "bucket", "has_usage":
- true}, {"quota_id": "obj-bytes-es-mad-1.linodeobjects.com", "quota_name": "Total
- Capacity", "quota_type": "obj-bytes", "endpoint_type": "E1", "s3_endpoint":
- "es-mad-1.linodeobjects.com", "description": "Current total capacity per account,
- per endpoint", "quota_limit": 109951162777600, "resource_metric": "byte", "has_usage":
- true}, {"quota_id": "obj-objects-es-mad-1.linodeobjects.com", "quota_name":
- "Number of Objects", "quota_type": "obj-objects", "endpoint_type": "E1", "s3_endpoint":
- "es-mad-1.linodeobjects.com", "description": "Current number of objects per
- account, per endpoint", "quota_limit": 100000000, "resource_metric": "object",
- "has_usage": true}, {"quota_id": "obj-buckets-es-mad-1.linodeobjects.com", "quota_name":
- "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type": "E1", "s3_endpoint":
- "es-mad-1.linodeobjects.com", "description": "Current number of buckets per
- account, per endpoint", "quota_limit": 1000, "resource_metric": "bucket", "has_usage":
- true}, {"quota_id": "obj-bytes-no-osl-1.linodeobjects.com", "quota_name": "Total
- Capacity", "quota_type": "obj-bytes", "endpoint_type": "E2", "s3_endpoint":
- "no-osl-1.linodeobjects.com", "description": "Current total capacity per account,
- per endpoint", "quota_limit": 109951162777600, "resource_metric": "byte", "has_usage":
- true}, {"quota_id": "obj-objects-no-osl-1.linodeobjects.com", "quota_name":
+ true}, {"quota_id": "obj-objects-au-mel-1.linodeobjects.com", "quota_name":
"Number of Objects", "quota_type": "obj-objects", "endpoint_type": "E2", "s3_endpoint":
- "no-osl-1.linodeobjects.com", "description": "Current number of objects per
+ "au-mel-1.linodeobjects.com", "description": "Current number of objects per
account, per endpoint", "quota_limit": 100000000, "resource_metric": "object",
- "has_usage": true}, {"quota_id": "obj-buckets-no-osl-1.linodeobjects.com", "quota_name":
+ "has_usage": true}, {"quota_id": "obj-buckets-au-mel-1.linodeobjects.com", "quota_name":
"Number of Buckets", "quota_type": "obj-buckets", "endpoint_type": "E2", "s3_endpoint":
- "no-osl-1.linodeobjects.com", "description": "Current number of buckets per
- account, per endpoint", "quota_limit": 1000, "resource_metric": "bucket", "has_usage":
- true}, {"quota_id": "obj-bytes-us-ord-1.linodeobjects.com", "quota_name": "Total
- Capacity", "quota_type": "obj-bytes", "endpoint_type": "E1", "s3_endpoint":
- "us-ord-1.linodeobjects.com", "description": "Current total capacity per account,
- per endpoint", "quota_limit": 109951162777600, "resource_metric": "byte", "has_usage":
- true}, {"quota_id": "obj-objects-us-ord-1.linodeobjects.com", "quota_name":
- "Number of Objects", "quota_type": "obj-objects", "endpoint_type": "E1", "s3_endpoint":
- "us-ord-1.linodeobjects.com", "description": "Current number of objects per
- account, per endpoint", "quota_limit": 100000000, "resource_metric": "object",
- "has_usage": true}, {"quota_id": "obj-buckets-us-ord-1.linodeobjects.com", "quota_name":
- "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type": "E1", "s3_endpoint":
- "us-ord-1.linodeobjects.com", "description": "Current number of buckets per
+ "au-mel-1.linodeobjects.com", "description": "Current number of buckets per
account, per endpoint", "quota_limit": 1000, "resource_metric": "bucket", "has_usage":
- true}, {"quota_id": "obj-bytes-us-lax-1.linodeobjects.com", "quota_name": "Total
- Capacity", "quota_type": "obj-bytes", "endpoint_type": "E1", "s3_endpoint":
- "us-lax-1.linodeobjects.com", "description": "Current total capacity per account,
- per endpoint", "quota_limit": 109951162777600, "resource_metric": "byte", "has_usage":
- true}, {"quota_id": "obj-objects-us-lax-1.linodeobjects.com", "quota_name":
- "Number of Objects", "quota_type": "obj-objects", "endpoint_type": "E1", "s3_endpoint":
- "us-lax-1.linodeobjects.com", "description": "Current number of objects per
- account, per endpoint", "quota_limit": 100000000, "resource_metric": "object",
- "has_usage": true}, {"quota_id": "obj-buckets-us-lax-1.linodeobjects.com", "quota_name":
- "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type": "E1", "s3_endpoint":
- "us-lax-1.linodeobjects.com", "description": "Current number of buckets per
- account, per endpoint", "quota_limit": 1000, "resource_metric": "bucket", "has_usage":
- true}, {"quota_id": "obj-bytes-it-mil-1.linodeobjects.com", "quota_name": "Total
- Capacity", "quota_type": "obj-bytes", "endpoint_type": "E1", "s3_endpoint":
- "it-mil-1.linodeobjects.com", "description": "Current total capacity per account,
- per endpoint", "quota_limit": 109951162777600, "resource_metric": "byte", "has_usage":
- true}, {"quota_id": "obj-objects-it-mil-1.linodeobjects.com", "quota_name":
- "Number of Objects", "quota_type": "obj-objects", "endpoint_type": "E1", "s3_endpoint":
- "it-mil-1.linodeobjects.com", "description": "Current number of objects per
- account, per endpoint", "quota_limit": 100000000, "resource_metric": "object",
- "has_usage": true}, {"quota_id": "obj-buckets-it-mil-1.linodeobjects.com", "quota_name":
- "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type": "E1", "s3_endpoint":
- "it-mil-1.linodeobjects.com", "description": "Current number of buckets per
- account, per endpoint", "quota_limit": 1000, "resource_metric": "bucket", "has_usage":
- true}, {"quota_id": "obj-bytes-us-southeast-1.linodeobjects.com", "quota_name":
- "Total Capacity", "quota_type": "obj-bytes", "endpoint_type": "E0", "s3_endpoint":
- "us-southeast-1.linodeobjects.com", "description": "Current total capacity per
- account, per endpoint", "quota_limit": 5497558138880, "resource_metric": "byte",
- "has_usage": true}, {"quota_id": "obj-objects-us-southeast-1.linodeobjects.com",
- "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
- "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com", "description": "Current
- number of objects per account, per endpoint", "quota_limit": 50000000, "resource_metric":
- "object", "has_usage": true}, {"quota_id": "obj-buckets-us-southeast-1.linodeobjects.com",
- "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
- "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com", "description": "Current
- number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
- "bucket", "has_usage": true}, {"quota_id": "obj-bytes-ap-south-1.linodeobjects.com",
- "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
- "E0", "s3_endpoint": "ap-south-1.linodeobjects.com", "description": "Current
- total capacity per account, per endpoint", "quota_limit": 5497558138880, "resource_metric":
- "byte", "has_usage": true}, {"quota_id": "obj-objects-ap-south-1.linodeobjects.com",
- "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
- "E0", "s3_endpoint": "ap-south-1.linodeobjects.com", "description": "Current
- number of objects per account, per endpoint", "quota_limit": 50000000, "resource_metric":
- "object", "has_usage": true}, {"quota_id": "obj-buckets-ap-south-1.linodeobjects.com",
- "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
- "E0", "s3_endpoint": "ap-south-1.linodeobjects.com", "description": "Current
- number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
- "bucket", "has_usage": true}, {"quota_id": "obj-bytes-jp-osa-1.linodeobjects.com",
+ true}, {"quota_id": "obj-total-ingress-throughput-au-mel-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-au-mel-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-au-mel-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-au-mel-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-in-bom-1.linodeobjects.com",
"quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
- "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com", "description": "Current total
- capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
- "byte", "has_usage": true}, {"quota_id": "obj-objects-jp-osa-1.linodeobjects.com",
+ "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-in-bom-1.linodeobjects.com",
"quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
- "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com", "description": "Current number
- of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
- "object", "has_usage": true}, {"quota_id": "obj-buckets-jp-osa-1.linodeobjects.com",
+ "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-in-bom-1.linodeobjects.com",
"quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
- "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com", "description": "Current number
+ "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description": "Current number
of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
- "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-east-1.linodeobjects.com",
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-in-bom-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-in-bom-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-in-bom-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-in-bom-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "in-bom-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-us-east-1.linodeobjects.com",
"quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
"E0", "s3_endpoint": "us-east-1.linodeobjects.com", "description": "Current
- total capacity per account, per endpoint", "quota_limit": 5497558138880, "resource_metric":
+ total capacity per account, per endpoint", "quota_limit": 54975581388800, "resource_metric":
"byte", "has_usage": true}, {"quota_id": "obj-objects-us-east-1.linodeobjects.com",
"quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
"E0", "s3_endpoint": "us-east-1.linodeobjects.com", "description": "Current
@@ -170,6 +86,18 @@ interactions:
"quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
"E0", "s3_endpoint": "us-east-1.linodeobjects.com", "description": "Current
number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-iad-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "us-iad-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-iad-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "us-iad-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-iad-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-iad-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
"bucket", "has_usage": true}, {"quota_id": "obj-bytes-fr-par-1.linodeobjects.com",
"quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
"E1", "s3_endpoint": "fr-par-1.linodeobjects.com", "description": "Current total
@@ -182,29 +110,29 @@ interactions:
"quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
"E1", "s3_endpoint": "fr-par-1.linodeobjects.com", "description": "Current number
of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
- "bucket", "has_usage": true}, {"quota_id": "obj-bytes-se-sto-1.linodeobjects.com",
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-it-mil-1.linodeobjects.com",
"quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
- "E1", "s3_endpoint": "se-sto-1.linodeobjects.com", "description": "Current total
+ "E1", "s3_endpoint": "it-mil-1.linodeobjects.com", "description": "Current total
capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
- "byte", "has_usage": true}, {"quota_id": "obj-objects-se-sto-1.linodeobjects.com",
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-it-mil-1.linodeobjects.com",
"quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
- "E1", "s3_endpoint": "se-sto-1.linodeobjects.com", "description": "Current number
+ "E1", "s3_endpoint": "it-mil-1.linodeobjects.com", "description": "Current number
of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
- "object", "has_usage": true}, {"quota_id": "obj-buckets-se-sto-1.linodeobjects.com",
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-it-mil-1.linodeobjects.com",
"quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
- "E1", "s3_endpoint": "se-sto-1.linodeobjects.com", "description": "Current number
+ "E1", "s3_endpoint": "it-mil-1.linodeobjects.com", "description": "Current number
of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
- "bucket", "has_usage": true}, {"quota_id": "obj-bytes-nl-ams-1.linodeobjects.com",
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-br-gru-1.linodeobjects.com",
"quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
- "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com", "description": "Current total
+ "E1", "s3_endpoint": "br-gru-1.linodeobjects.com", "description": "Current total
capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
- "byte", "has_usage": true}, {"quota_id": "obj-objects-nl-ams-1.linodeobjects.com",
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-br-gru-1.linodeobjects.com",
"quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
- "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com", "description": "Current number
+ "E1", "s3_endpoint": "br-gru-1.linodeobjects.com", "description": "Current number
of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
- "object", "has_usage": true}, {"quota_id": "obj-buckets-nl-ams-1.linodeobjects.com",
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-br-gru-1.linodeobjects.com",
"quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
- "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com", "description": "Current number
+ "E1", "s3_endpoint": "br-gru-1.linodeobjects.com", "description": "Current number
of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
"bucket", "has_usage": true}, {"quota_id": "obj-bytes-gb-lon-1.linodeobjects.com",
"quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
@@ -218,17 +146,215 @@ interactions:
"quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
"E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description": "Current number
of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
- "bucket", "has_usage": true}, {"quota_id": "obj-bytes-au-mel-1.linodeobjects.com",
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-gb-lon-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-gb-lon-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-gb-lon-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-gb-lon-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "gb-lon-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-es-mad-1.linodeobjects.com",
"quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
- "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current total
+ "E1", "s3_endpoint": "es-mad-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-es-mad-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "es-mad-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-es-mad-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "es-mad-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-mia-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "us-mia-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-mia-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "us-mia-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-mia-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-mia-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-se-sto-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "se-sto-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-se-sto-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "se-sto-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-se-sto-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "se-sto-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-sg-sin-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-sg-sin-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-sg-sin-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-sg-sin-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-sg-sin-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-sg-sin-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-sg-sin-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-de-fra-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "de-fra-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-de-fra-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "de-fra-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-de-fra-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "de-fra-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-de-fra-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "de-fra-1.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-de-fra-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "de-fra-1.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-de-fra-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "de-fra-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-de-fra-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "de-fra-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-us-sea-9.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-sea-9.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-sea-9.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-us-sea-9.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-us-sea-9.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description": "Current total
+ egress bandwidth per account, per endpoint", "quota_limit": 1250000000, "resource_metric":
+ "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-us-sea-9.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-us-sea-9.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "us-sea-9.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-id-cgk-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "id-cgk-1.linodeobjects.com", "description": "Current total
capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
- "byte", "has_usage": true}, {"quota_id": "obj-objects-au-mel-1.linodeobjects.com",
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-id-cgk-1.linodeobjects.com",
"quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
- "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current number
+ "E1", "s3_endpoint": "id-cgk-1.linodeobjects.com", "description": "Current number
of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
- "object", "has_usage": true}, {"quota_id": "obj-buckets-au-mel-1.linodeobjects.com",
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-id-cgk-1.linodeobjects.com",
"quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
- "E2", "s3_endpoint": "au-mel-1.linodeobjects.com", "description": "Current number
+ "E1", "s3_endpoint": "id-cgk-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-ord-10.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E3", "s3_endpoint": "us-ord-10.linodeobjects.com", "description": "Current
+ total capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-ord-10.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E3", "s3_endpoint": "us-ord-10.linodeobjects.com", "description": "Current
+ number of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-ord-10.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E3", "s3_endpoint": "us-ord-10.linodeobjects.com", "description": "Current
+ number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-total-ingress-throughput-us-ord-10.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per endpoint)", "quota_type": "obj-total-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "us-ord-10.linodeobjects.com", "description":
+ "Current total ingress bandwidth per account, per endpoint", "quota_limit":
+ 1250000000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-total-egress-throughput-us-ord-10.linodeobjects.com", "quota_name": "Egress
+ Throughput (per endpoint)", "quota_type": "obj-total-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "us-ord-10.linodeobjects.com", "description": "Current
+ total egress bandwidth per account, per endpoint", "quota_limit": 1250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-per-ip-ingress-throughput-us-ord-10.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "us-ord-10.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-us-ord-10.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "us-ord-10.linodeobjects.com", "description": "Current
+ egress bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-eu-central-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E0", "s3_endpoint": "eu-central-1.linodeobjects.com", "description": "Current
+ total capacity per account, per endpoint", "quota_limit": 54975581388800, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-eu-central-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E0", "s3_endpoint": "eu-central-1.linodeobjects.com", "description": "Current
+ number of objects per account, per endpoint", "quota_limit": 50000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-eu-central-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E0", "s3_endpoint": "eu-central-1.linodeobjects.com", "description": "Current
+ number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-jp-osa-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-jp-osa-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-jp-osa-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com", "description": "Current number
of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
"bucket", "has_usage": true}, {"quota_id": "obj-bytes-in-maa-1.linodeobjects.com",
"quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
@@ -242,58 +368,176 @@ interactions:
"quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
"E1", "s3_endpoint": "in-maa-1.linodeobjects.com", "description": "Current number
of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
- "bucket", "has_usage": true}, {"quota_id": "obj-bytes-jp-tyo-1.linodeobjects.com",
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-sea-1.linodeobjects.com",
"quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
- "E2", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description": "Current total
+ "E1", "s3_endpoint": "us-sea-1.linodeobjects.com", "description": "Current total
capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
- "byte", "has_usage": true}, {"quota_id": "obj-objects-jp-tyo-1.linodeobjects.com",
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-sea-1.linodeobjects.com",
"quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
- "E2", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description": "Current number
+ "E1", "s3_endpoint": "us-sea-1.linodeobjects.com", "description": "Current number
of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
- "object", "has_usage": true}, {"quota_id": "obj-buckets-jp-tyo-1.linodeobjects.com",
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-sea-1.linodeobjects.com",
"quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
- "E2", "s3_endpoint": "jp-tyo-1.linodeobjects.com", "description": "Current number
+ "E1", "s3_endpoint": "us-sea-1.linodeobjects.com", "description": "Current number
of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
- "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-lax-4.linodeobjects.com",
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-nl-ams-1.linodeobjects.com",
"quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
- "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current total
- capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
- "byte", "has_usage": true}, {"quota_id": "obj-objects-us-lax-4.linodeobjects.com",
+ "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-nl-ams-1.linodeobjects.com",
"quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
- "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current number
- of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
- "object", "has_usage": true}, {"quota_id": "obj-buckets-us-lax-4.linodeobjects.com",
+ "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-nl-ams-1.linodeobjects.com",
"quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
- "E3", "s3_endpoint": "us-lax-4.linodeobjects.com", "description": "Current number
+ "E1", "s3_endpoint": "nl-ams-1.linodeobjects.com", "description": "Current number
of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
- "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-mia-1.linodeobjects.com",
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-lax-1.linodeobjects.com",
"quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
- "E1", "s3_endpoint": "us-mia-1.linodeobjects.com", "description": "Current total
+ "E1", "s3_endpoint": "us-lax-1.linodeobjects.com", "description": "Current total
capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
- "byte", "has_usage": true}, {"quota_id": "obj-objects-us-mia-1.linodeobjects.com",
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-lax-1.linodeobjects.com",
"quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
- "E1", "s3_endpoint": "us-mia-1.linodeobjects.com", "description": "Current number
+ "E1", "s3_endpoint": "us-lax-1.linodeobjects.com", "description": "Current number
of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
- "object", "has_usage": true}, {"quota_id": "obj-buckets-us-mia-1.linodeobjects.com",
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-lax-1.linodeobjects.com",
"quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
- "E1", "s3_endpoint": "us-mia-1.linodeobjects.com", "description": "Current number
+ "E1", "s3_endpoint": "us-lax-1.linodeobjects.com", "description": "Current number
of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
- "bucket", "has_usage": true}, {"quota_id": "obj-bytes-sg-sin-1.linodeobjects.com",
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-southeast-1.linodeobjects.com",
"quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
- "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current total
- capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
- "byte", "has_usage": true}, {"quota_id": "obj-objects-sg-sin-1.linodeobjects.com",
+ "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com", "description": "Current
+ total capacity per account, per endpoint", "quota_limit": 54975581388800, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-southeast-1.linodeobjects.com",
"quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
- "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current number
- of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
- "object", "has_usage": true}, {"quota_id": "obj-buckets-sg-sin-1.linodeobjects.com",
+ "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com", "description": "Current
+ number of objects per account, per endpoint", "quota_limit": 50000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-southeast-1.linodeobjects.com",
"quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
- "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current number
+ "E0", "s3_endpoint": "us-southeast-1.linodeobjects.com", "description": "Current
+ number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-ord-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "us-ord-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-ord-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "us-ord-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-ord-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-ord-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}], "page": 1, "pages": 2, "results": 117}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 03 Jun 2026 14:01:43 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - object_storage:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/object-storage/quotas?page=2
+ method: GET
+ response:
+ body: '{"data": [{"quota_id": "obj-per-ip-ingress-throughput-sg-sin-1.linodeobjects.com",
+ "quota_name": "Ingress Throughput (per IP)", "quota_type": "obj-per-ip-ingress-throughput",
+ "endpoint_type": "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description":
+ "Current ingress bandwidth per account, per destination IP address", "quota_limit":
+ 156250000, "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id":
+ "obj-per-ip-egress-throughput-sg-sin-1.linodeobjects.com", "quota_name": "Egress
+ Throughput (per IP)", "quota_type": "obj-per-ip-egress-throughput", "endpoint_type":
+ "E3", "s3_endpoint": "sg-sin-1.linodeobjects.com", "description": "Current egress
+ bandwidth per account, per destination IP address", "quota_limit": 250000000,
+ "resource_metric": "byte_per_second", "has_usage": false}, {"quota_id": "obj-bytes-br-gru-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "br-gru-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-br-gru-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "br-gru-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-br-gru-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "br-gru-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-jp-osa-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-jp-osa-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-jp-osa-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "jp-osa-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-iad-1.linodeobjects.com",
+ "quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
+ "E1", "s3_endpoint": "us-iad-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-us-iad-1.linodeobjects.com",
+ "quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
+ "E1", "s3_endpoint": "us-iad-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-us-iad-1.linodeobjects.com",
+ "quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
+ "E1", "s3_endpoint": "us-iad-1.linodeobjects.com", "description": "Current number
of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
"bucket", "has_usage": true}, {"quota_id": "obj-bytes-eu-central-1.linodeobjects.com",
"quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
"E0", "s3_endpoint": "eu-central-1.linodeobjects.com", "description": "Current
- total capacity per account, per endpoint", "quota_limit": 5497558138880, "resource_metric":
+ total capacity per account, per endpoint", "quota_limit": 54975581388800, "resource_metric":
"byte", "has_usage": true}, {"quota_id": "obj-objects-eu-central-1.linodeobjects.com",
"quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
"E0", "s3_endpoint": "eu-central-1.linodeobjects.com", "description": "Current
@@ -302,19 +546,19 @@ interactions:
"quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
"E0", "s3_endpoint": "eu-central-1.linodeobjects.com", "description": "Current
number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
- "bucket", "has_usage": true}, {"quota_id": "obj-bytes-us-ord-10.linodeobjects.com",
+ "bucket", "has_usage": true}, {"quota_id": "obj-bytes-es-mad-1.linodeobjects.com",
"quota_name": "Total Capacity", "quota_type": "obj-bytes", "endpoint_type":
- "E3", "s3_endpoint": "us-ord-10.linodeobjects.com", "description": "Current
- total capacity per account, per endpoint", "quota_limit": 549755813888000, "resource_metric":
- "byte", "has_usage": true}, {"quota_id": "obj-objects-us-ord-10.linodeobjects.com",
+ "E1", "s3_endpoint": "es-mad-1.linodeobjects.com", "description": "Current total
+ capacity per account, per endpoint", "quota_limit": 109951162777600, "resource_metric":
+ "byte", "has_usage": true}, {"quota_id": "obj-objects-es-mad-1.linodeobjects.com",
"quota_name": "Number of Objects", "quota_type": "obj-objects", "endpoint_type":
- "E3", "s3_endpoint": "us-ord-10.linodeobjects.com", "description": "Current
- number of objects per account, per endpoint", "quota_limit": 500000000, "resource_metric":
- "object", "has_usage": true}, {"quota_id": "obj-buckets-us-ord-10.linodeobjects.com",
+ "E1", "s3_endpoint": "es-mad-1.linodeobjects.com", "description": "Current number
+ of objects per account, per endpoint", "quota_limit": 100000000, "resource_metric":
+ "object", "has_usage": true}, {"quota_id": "obj-buckets-es-mad-1.linodeobjects.com",
"quota_name": "Number of Buckets", "quota_type": "obj-buckets", "endpoint_type":
- "E3", "s3_endpoint": "us-ord-10.linodeobjects.com", "description": "Current
- number of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
- "bucket", "has_usage": true}], "page": 1, "pages": 1, "results": 75}'
+ "E1", "s3_endpoint": "es-mad-1.linodeobjects.com", "description": "Current number
+ of buckets per account, per endpoint", "quota_limit": 1000, "resource_metric":
+ "bucket", "has_usage": true}], "page": 2, "pages": 2, "results": 117}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -337,7 +581,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 23 Feb 2026 20:13:34 GMT
+ - Wed, 03 Jun 2026 14:01:43 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestReservedIPAddress_ReserveWithTags.yaml b/test/integration/fixtures/TestReservedIPAddress_ReserveWithTags.yaml
new file mode 100644
index 000000000..ed2ae1c20
--- /dev/null
+++ b/test/integration/fixtures/TestReservedIPAddress_ReserveWithTags.yaml
@@ -0,0 +1,607 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:15 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","tags":["lb"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": ["lb"]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "291"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:16 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.211
+ method: GET
+ response:
+ body: '{"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": ["lb"]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "291"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:16 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.211
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:16 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestReservedIPAddress_UpdateTags.yaml b/test/integration/fixtures/TestReservedIPAddress_UpdateTags.yaml
new file mode 100644
index 000000000..c416e0657
--- /dev/null
+++ b/test/integration/fixtures/TestReservedIPAddress_UpdateTags.yaml
@@ -0,0 +1,670 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:17 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "287"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:17 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"tags":["lb"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
+ method: PUT
+ response:
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": ["lb"]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "291"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:17 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"tags":[]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
+ method: PUT
+ response:
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "287"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:18 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:18 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestReservedIPAddresses_DeleteIPAddressVariants.yaml b/test/integration/fixtures/TestReservedIPAddresses_DeleteIPAddressVariants.yaml
index a033a961f..bb71c819c 100644
--- a/test/integration/fixtures/TestReservedIPAddresses_DeleteIPAddressVariants.yaml
+++ b/test/integration/fixtures/TestReservedIPAddresses_DeleteIPAddressVariants.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east"}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:41 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -14,9 +428,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "66.175.209.178", "gateway": "66.175.209.1", "subnet_mask":
- "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "66-175-209-178.ip.linodeusercontent.com",
- "linode_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}'
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -35,13 +450,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "264"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:50 GMT
+ - Mon, 11 May 2026 11:13:42 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -58,7 +473,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -77,10 +492,15 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips?page=1
method: GET
response:
- body: '{"data": [{"address": "66.175.209.178", "gateway": "66.175.209.1", "subnet_mask":
- "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "66-175-209-178.ip.linodeusercontent.com",
- "linode_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}],
- "page": 1, "pages": 1, "results": 1}'
+ body: '{"data": [{"address": "172.233.57.252", "gateway": "172.233.57.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-233-57-252.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}, "tags": ["tag-for-reserved-ip"]},
+ {"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask": "255.255.255.0",
+ "prefix": 24, "type": "ipv4", "public": true, "rdns": null, "linode_id": null,
+ "interface_id": null, "region": "gb-lon", "vpc_nat_1_1": null, "reserved": true,
+ "assigned_entity": null, "tags": []}], "page": 1, "pages": 1, "results": 2}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -99,13 +519,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "313"
+ - "776"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:50 GMT
+ - Mon, 11 May 2026 11:13:42 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -139,7 +559,151 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/66.175.209.178
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Too many requests"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "45"
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:42 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ status: 429 Too Many Requests
+ code: 429
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Too many requests"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "45"
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:46 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ status: 429 Too Many Requests
+ code: 429
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Too many requests"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "45"
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:50 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ status: 429 Too Many Requests
+ code: 429
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
method: DELETE
response:
body: '{}'
@@ -167,7 +731,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:50 GMT
+ - Mon, 11 May 2026 11:13:57 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -203,7 +767,12 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips?page=1
method: GET
response:
- body: '{"data": [], "page": 1, "pages": 1, "results": 0}'
+ body: '{"data": [{"address": "172.233.57.252", "gateway": "172.233.57.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-233-57-252.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}, "tags": ["tag-for-reserved-ip"]}],
+ "page": 1, "pages": 1, "results": 1}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -222,13 +791,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "49"
+ - "487"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:50 GMT
+ - Mon, 11 May 2026 11:13:57 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -262,7 +831,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/66.175.209.178
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
method: GET
response:
body: '{"errors": [{"reason": "Not found"}]}'
@@ -284,9 +853,11 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:51 GMT
+ - Mon, 11 May 2026 11:13:58 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
Vary:
- Authorization, X-Filter
X-Accepted-Oauth-Scopes:
@@ -332,9 +903,11 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:51 GMT
+ - Mon, 11 May 2026 11:13:58 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
X-Accepted-Oauth-Scopes:
- ips:read_write
X-Frame-Options:
diff --git a/test/integration/fixtures/TestReservedIPAddresses_EndToEndTest.yaml b/test/integration/fixtures/TestReservedIPAddresses_EndToEndTest.yaml
index 1dcbe2b27..14e54d1c8 100644
--- a/test/integration/fixtures/TestReservedIPAddresses_EndToEndTest.yaml
+++ b/test/integration/fixtures/TestReservedIPAddresses_EndToEndTest.yaml
@@ -14,7 +14,12 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips?page=1
method: GET
response:
- body: '{"data": [], "page": 1, "pages": 1, "results": 0}'
+ body: '{"data": [{"address": "172.233.57.252", "gateway": "172.233.57.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-233-57-252.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}, "tags": ["tag-for-reserved-ip"]}],
+ "page": 1, "pages": 1, "results": 1}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -33,13 +38,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "49"
+ - "487"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:47 GMT
+ - Mon, 11 May 2026 11:12:20 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -64,7 +69,421 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-east"}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:20 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","tags":["lb"]}'
form: {}
headers:
Accept:
@@ -76,9 +495,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "66.175.209.178", "gateway": "66.175.209.1", "subnet_mask":
- "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "66-175-209-178.ip.linodeusercontent.com",
- "linode_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}'
+ body: '{"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": ["lb"]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -97,13 +517,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "264"
+ - "291"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:48 GMT
+ - Mon, 11 May 2026 11:12:21 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -120,7 +540,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -136,12 +556,13 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/66.175.209.178
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.211
method: GET
response:
- body: '{"address": "66.175.209.178", "gateway": "66.175.209.1", "subnet_mask":
- "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "66-175-209-178.ip.linodeusercontent.com",
- "linode_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}'
+ body: '{"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": ["lb"]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -160,13 +581,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "264"
+ - "291"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:48 GMT
+ - Mon, 11 May 2026 11:12:21 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -203,10 +624,16 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips?page=1
method: GET
response:
- body: '{"data": [{"address": "66.175.209.178", "gateway": "66.175.209.1", "subnet_mask":
- "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "66-175-209-178.ip.linodeusercontent.com",
- "linode_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}],
- "page": 1, "pages": 1, "results": 1}'
+ body: '{"data": [{"address": "172.233.57.252", "gateway": "172.233.57.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-233-57-252.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}, "tags": ["tag-for-reserved-ip"]},
+ {"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask": "255.255.255.0",
+ "prefix": 24, "type": "ipv4", "public": true, "rdns": null, "linode_id": null,
+ "interface_id": null, "region": "gb-lon", "vpc_nat_1_1": null, "reserved": true,
+ "assigned_entity": null, "tags": ["lb"]}], "page": 1, "pages": 1, "results":
+ 2}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -225,13 +652,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "313"
+ - "780"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:48 GMT
+ - Mon, 11 May 2026 11:12:21 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -265,7 +692,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/66.175.209.178
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.211
method: DELETE
response:
body: '{}'
@@ -293,7 +720,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:49 GMT
+ - Mon, 11 May 2026 11:12:21 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -326,7 +753,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/66.175.209.178
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.211
method: GET
response:
body: '{"errors": [{"reason": "Not found"}]}'
@@ -348,9 +775,11 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:49 GMT
+ - Mon, 11 May 2026 11:12:22 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
Vary:
- Authorization, X-Filter
X-Accepted-Oauth-Scopes:
@@ -377,7 +806,12 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips?page=1
method: GET
response:
- body: '{"data": [], "page": 1, "pages": 1, "results": 0}'
+ body: '{"data": [{"address": "172.233.57.252", "gateway": "172.233.57.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-233-57-252.ip.linodeusercontent.com",
+ "linode_id": 96452210, "interface_id": null, "region": "nl-ams", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": {"id": 96452210, "type": "linode",
+ "label": "ilykzusd", "url": "/v4/linode/instances/96452210"}, "tags": ["tag-for-reserved-ip"]}],
+ "page": 1, "pages": 1, "results": 1}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -396,13 +830,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "49"
+ - "487"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:49 GMT
+ - Mon, 11 May 2026 11:12:22 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestReservedIPAddresses_ExceedLimit.yaml b/test/integration/fixtures/TestReservedIPAddresses_ExceedLimit.yaml
index 57449d247..e84666435 100644
--- a/test/integration/fixtures/TestReservedIPAddresses_ExceedLimit.yaml
+++ b/test/integration/fixtures/TestReservedIPAddresses_ExceedLimit.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east"}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:38 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -14,9 +428,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "69.164.208.243", "gateway": "69.164.208.1", "subnet_mask":
- "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "69-164-208-243.ip.linodeusercontent.com",
- "linode_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}'
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -35,13 +450,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "264"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Mon, 16 Sep 2024 17:00:22 GMT
+ - Mon, 11 May 2026 11:12:39 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -58,14 +473,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"region":"us-east"}'
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -77,9 +492,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "45.79.130.88", "gateway": "45.79.130.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": "45-79-130-88.ip.linodeusercontent.com",
- "linode_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}'
+ body: '{"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -98,13 +514,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "259"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Mon, 16 Sep 2024 17:00:22 GMT
+ - Mon, 11 May 2026 11:12:39 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -121,14 +537,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"region":"us-east"}'
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -140,37 +556,1971 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"errors": [{"reason": "Additional Reserved IPv4 addresses require technical
- justification. Please contact support describing your requirement."}]}'
+ body: '{"address": "172.237.114.56", "gateway": "172.237.114.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
+ Access-Control-Allow-Credentials:
+ - "true"
Access-Control-Allow-Headers:
- Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
Access-Control-Allow-Methods:
- HEAD, GET, OPTIONS, POST, PUT, DELETE
Access-Control-Allow-Origin:
- '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
Akamai-Internal-Account:
- '*'
Cache-Control:
- max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
Content-Length:
- - "147"
+ - "286"
+ Content-Security-Policy:
+ - default-src 'none'
Content-Type:
- application/json
Expires:
- - Mon, 16 Sep 2024 17:00:22 GMT
+ - Mon, 11 May 2026 11:12:40 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
X-Accepted-Oauth-Scopes:
- ips:read_write
+ X-Content-Type-Options:
+ - nosniff
X-Frame-Options:
- DENY
+ - DENY
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
- status: 400 Bad Request
- code: 400
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"address": "172.236.20.11", "gateway": "172.236.20.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "284"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:40 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"address": "172.236.22.106", "gateway": "172.236.22.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "285"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:41 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"address": "172.237.100.8", "gateway": "172.237.100.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "285"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:41 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"address": "172.239.110.128", "gateway": "172.239.110.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "287"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:42 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"address": "172.239.114.238", "gateway": "172.239.114.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "287"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:42 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"address": "172.239.117.47", "gateway": "172.239.117.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "286"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:43 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"address": "172.239.117.186", "gateway": "172.239.117.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "287"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:43 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"address": "172.236.12.113", "gateway": "172.236.12.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "285"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:43 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"address": "172.236.12.129", "gateway": "172.236.12.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "285"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:44 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"address": "172.236.12.131", "gateway": "172.236.12.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "285"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:44 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"address": "172.236.12.112", "gateway": "172.236.12.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "285"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:45 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"errors": [{"reason": "Additional Reserved IPv4 addresses require technical
+ justification. Please contact support describing your requirement."}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Content-Length:
+ - "147"
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:45 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ status: 400 Bad Request
+ code: 400
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Too many requests"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "45"
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:45 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ status: 429 Too Many Requests
+ code: 429
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:49 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.211
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:49 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.114.56
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Too many requests"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "45"
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:49 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "5"
+ status: 429 Too Many Requests
+ code: 429
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.114.56
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:52 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.236.20.11
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:53 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.236.22.106
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:53 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.100.8
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:54 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.239.110.128
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:54 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.239.114.238
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Too many requests"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "45"
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:54 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "5"
+ status: 429 Too Many Requests
+ code: 429
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.239.114.238
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Too many requests"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "45"
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:57 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "5"
+ status: 429 Too Many Requests
+ code: 429
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.239.114.238
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Too many requests"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "45"
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:02 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ status: 429 Too Many Requests
+ code: 429
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.239.114.238
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Too many requests"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "45"
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:09 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ status: 429 Too Many Requests
+ code: 429
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.239.114.238
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:23 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.239.117.47
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:24 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.239.117.186
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:24 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.236.12.113
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:24 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.236.12.129
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:25 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.236.12.131
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Too many requests"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "45"
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:25 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "5"
+ status: 429 Too Many Requests
+ code: 429
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.236.12.131
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Too many requests"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "45"
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:28 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "5"
+ status: 429 Too Many Requests
+ code: 429
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.236.12.131
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Too many requests"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "45"
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:34 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "5"
+ status: 429 Too Many Requests
+ code: 429
duration: ""
- request:
body: ""
@@ -182,7 +2532,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/69.164.208.243
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.236.12.131
method: DELETE
response:
body: '{}'
@@ -210,7 +2560,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 16 Sep 2024 17:00:22 GMT
+ - Mon, 11 May 2026 11:13:40 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -243,7 +2593,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/45.79.130.88
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.236.12.112
method: DELETE
response:
body: '{}'
@@ -271,7 +2621,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 16 Sep 2024 17:00:23 GMT
+ - Mon, 11 May 2026 11:13:41 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestReservedIPAddresses_GetIPAddressVariants.yaml b/test/integration/fixtures/TestReservedIPAddresses_GetIPAddressVariants.yaml
index 6a4bf9cd1..44f8ac48e 100644
--- a/test/integration/fixtures/TestReservedIPAddresses_GetIPAddressVariants.yaml
+++ b/test/integration/fixtures/TestReservedIPAddresses_GetIPAddressVariants.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east"}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:25 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -14,9 +428,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "45.56.109.241", "gateway": "45.56.109.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": "45-56-109-241.ip.linodeusercontent.com",
- "linode_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}'
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -35,13 +450,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "261"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 29 Aug 2024 15:39:20 GMT
+ - Mon, 11 May 2026 11:12:25 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -58,7 +473,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -74,12 +489,13 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/45.56.109.241
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
method: GET
response:
- body: '{"address": "45.56.109.241", "gateway": "45.56.109.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": "45-56-109-241.ip.linodeusercontent.com",
- "linode_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}'
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -98,13 +514,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "261"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 29 Aug 2024 15:39:20 GMT
+ - Mon, 11 May 2026 11:12:25 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -160,9 +576,11 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 29 Aug 2024 15:39:20 GMT
+ - Mon, 11 May 2026 11:12:26 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
Vary:
- Authorization, X-Filter
X-Accepted-Oauth-Scopes:
@@ -186,7 +604,103 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/45.56.109.241
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Too many requests"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "45"
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:26 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "5"
+ status: 429 Too Many Requests
+ code: 429
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
+ method: DELETE
+ response:
+ body: '{"errors": [{"reason": "Too many requests"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "45"
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:29 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Frame-Options:
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "5"
+ status: 429 Too Many Requests
+ code: 429
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
method: DELETE
response:
body: '{}'
@@ -214,7 +728,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 29 Aug 2024 15:39:21 GMT
+ - Mon, 11 May 2026 11:12:35 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestReservedIPAddresses_GetIPReservationStatus.yaml b/test/integration/fixtures/TestReservedIPAddresses_GetIPReservationStatus.yaml
new file mode 100644
index 000000000..860619cdb
--- /dev/null
+++ b/test/integration/fixtures/TestReservedIPAddresses_GetIPReservationStatus.yaml
@@ -0,0 +1,954 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:58 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "287"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:13:59 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-esz28d94jj57","root_pass":"SeD9C^Iq+K6C}e3GeM4''kqwJqhP09''t^Od7l\\L-i46Rb-8J1r7[;\u0026xN9L9?4,^8|","image":"linode/alpine3.23","booted":false,"ipv4":["172.237.112.211"],"interfaces":[{"purpose":"public"}]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/linode/instances
+ method: POST
+ response:
+ body: '{"id": 97435711, "label": "go-test-ins-reserved-ip-esz28d94jj57", "group":
+ "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
+ "type": "g6-nanode-1", "ipv4": ["172.237.112.211"], "ipv6": "1234::5678/128",
+ "image": "linode/alpine3.23", "region": "gb-lon", "site_type": "core", "specs":
+ {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "ba5377ab60e98721a9bc4aef2b91320daef1ba00", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:14:01 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - linodes:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "20"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/linode/instances/97435711/ips
+ method: GET
+ response:
+ body: '{"ipv4": {"public": [{"address": "172.237.112.211", "gateway": "172.237.112.1",
+ "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true,
+ "rdns": "172-237-112-211.ip.linodeusercontent.com", "linode_id": 97435711, "interface_id":
+ null, "region": "gb-lon", "vpc_nat_1_1": null, "reserved": true, "assigned_entity":
+ {"id": 97435711, "type": "linode", "label": "go-test-ins-reserved-ip-esz28d94jj57",
+ "url": "/v4/linode/instances/97435711"}}], "private": [], "shared": [], "reserved":
+ [], "vpc": []}, "ipv6": {"slaac": {"address": "1234::5678",
+ "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64,
+ "type": "ipv6", "rdns": null, "linode_id": 97435711, "region": "gb-lon", "public":
+ true}, "link_local": {"address": "1234::5678", "gateway": "1234::5678",
+ "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns":
+ null, "linode_id": 97435711, "region": "gb-lon", "public": false}, "global":
+ [], "vpc": []}}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:14:01 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - linodes:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon","type":"g6-nanode-1","label":"test-instance-ephemeral-ip","root_pass":"x\u003cz~Zl-ZM3''\u003c223SOO|H6P2l8b;h4dVOw58Y)4|`cFzw2q0])w35-Q*AHy|1^xdV"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/linode/instances
+ method: POST
+ response:
+ body: '{"id": 97435716, "label": "test-instance-ephemeral-ip", "group": "", "status":
+ "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
+ "type": "g6-nanode-1", "ipv4": ["172.237.108.97"], "ipv6": "1234::5678/128",
+ "image": null, "region": "gb-lon", "site_type": "core", "specs": {"disk": 25600,
+ "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "c6edc180b7a2c84cd4e33e12e4402eba8cc09f44", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:14:02 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - linodes:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "20"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/linode/instances/97435716/ips
+ method: GET
+ response:
+ body: '{"ipv4": {"public": [{"address": "172.237.108.97", "gateway": "172.237.108.1",
+ "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true,
+ "rdns": "172-237-108-97.ip.linodeusercontent.com", "linode_id": 97435716, "interface_id":
+ null, "region": "gb-lon", "vpc_nat_1_1": null, "reserved": false, "assigned_entity":
+ {"id": 97435716, "type": "linode", "label": "test-instance-ephemeral-ip", "url":
+ "/v4/linode/instances/97435716"}}], "private": [], "shared": [], "reserved":
+ [], "vpc": []}, "ipv6": {"slaac": {"address": "1234::5678",
+ "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64,
+ "type": "ipv6", "rdns": null, "linode_id": 97435716, "region": "gb-lon", "public":
+ true}, "link_local": {"address": "1234::5678", "gateway": "1234::5678",
+ "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns":
+ null, "linode_id": 97435716, "region": "gb-lon", "public": false}, "global":
+ [], "vpc": []}}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:14:02 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - linodes:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/linode/instances/97435716
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:14:03 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - linodes:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/linode/instances/97435711
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:14:03 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - linodes:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.211
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:14:03 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestReservedIPAddresses_InsufficientPermissions.yaml b/test/integration/fixtures/TestReservedIPAddresses_InsufficientPermissions.yaml
index 764d3ac0b..f0acaa234 100644
--- a/test/integration/fixtures/TestReservedIPAddresses_InsufficientPermissions.yaml
+++ b/test/integration/fixtures/TestReservedIPAddresses_InsufficientPermissions.yaml
@@ -11,32 +11,424 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips?page=1
+ url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"errors": [{"reason": "Account doesn''t have permission to access the
- ''Reserved IPs'' feature."}]}'
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
headers:
+ Access-Control-Allow-Credentials:
+ - "true"
Access-Control-Allow-Headers:
- Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
Access-Control-Allow-Methods:
- HEAD, GET, OPTIONS, POST, PUT, DELETE
Access-Control-Allow-Origin:
- '*'
- Akamai-Internal-Account:
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:19 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - unknown
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips?page=1
+ method: GET
+ response:
+ body: '{"errors": [{"reason": "Invalid Token"}]}'
+ headers:
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
- '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
Content-Length:
- - "97"
+ - "41"
Content-Type:
- application/json
Expires:
- - Thu, 22 Aug 2024 15:37:02 GMT
+ - Mon, 11 May 2026 11:12:19 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
Vary:
- Authorization, X-Filter
X-Accepted-Oauth-Scopes:
@@ -44,12 +436,12 @@ interactions:
X-Frame-Options:
- DENY
X-Oauth-Scopes:
- - '*'
- status: 404 Not Found
- code: 404
+ - unknown
+ status: 401 Unauthorized
+ code: 401
duration: ""
- request:
- body: '{"region":"us-east"}'
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -61,8 +453,7 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"errors": [{"reason": "Account doesn''t have permission to access the
- ''Reserved IPs'' feature."}]}'
+ body: '{"errors": [{"reason": "Invalid Token"}]}'
headers:
Access-Control-Allow-Headers:
- Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
@@ -70,26 +461,26 @@ interactions:
- HEAD, GET, OPTIONS, POST, PUT, DELETE
Access-Control-Allow-Origin:
- '*'
- Akamai-Internal-Account:
- - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Content-Length:
- - "97"
+ - "41"
Content-Type:
- application/json
Expires:
- - Thu, 22 Aug 2024 15:37:02 GMT
+ - Mon, 11 May 2026 11:12:19 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
X-Accepted-Oauth-Scopes:
- ips:read_write
X-Frame-Options:
- DENY
X-Oauth-Scopes:
- - '*'
- status: 404 Not Found
- code: 404
+ - unknown
+ status: 401 Unauthorized
+ code: 401
duration: ""
- request:
body: ""
@@ -104,8 +495,7 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips/172.28.3.4
method: GET
response:
- body: '{"errors": [{"reason": "Account doesn''t have permission to access the
- ''Reserved IPs'' feature."}]}'
+ body: '{"errors": [{"reason": "Invalid Token"}]}'
headers:
Access-Control-Allow-Headers:
- Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
@@ -113,20 +503,20 @@ interactions:
- HEAD, GET, OPTIONS, POST, PUT, DELETE
Access-Control-Allow-Origin:
- '*'
- Akamai-Internal-Account:
- - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
Content-Length:
- - "97"
+ - "41"
Content-Type:
- application/json
Expires:
- - Thu, 22 Aug 2024 15:37:03 GMT
+ - Mon, 11 May 2026 11:12:19 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
Vary:
- Authorization, X-Filter
X-Accepted-Oauth-Scopes:
@@ -134,9 +524,9 @@ interactions:
X-Frame-Options:
- DENY
X-Oauth-Scopes:
- - '*'
- status: 404 Not Found
- code: 404
+ - unknown
+ status: 401 Unauthorized
+ code: 401
duration: ""
- request:
body: ""
@@ -151,8 +541,7 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips/172.28.3.4
method: DELETE
response:
- body: '{"errors": [{"reason": "Account doesn''t have permission to access the
- ''Reserved IPs'' feature."}]}'
+ body: '{"errors": [{"reason": "Invalid Token"}]}'
headers:
Access-Control-Allow-Headers:
- Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
@@ -160,26 +549,26 @@ interactions:
- HEAD, GET, OPTIONS, POST, PUT, DELETE
Access-Control-Allow-Origin:
- '*'
- Akamai-Internal-Account:
- - '*'
Cache-Control:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
Content-Length:
- - "97"
+ - "41"
Content-Type:
- application/json
Expires:
- - Thu, 22 Aug 2024 15:37:03 GMT
+ - Mon, 11 May 2026 11:12:19 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
X-Accepted-Oauth-Scopes:
- ips:read_write
X-Frame-Options:
- DENY
X-Oauth-Scopes:
- - '*'
- status: 404 Not Found
- code: 404
+ - unknown
+ status: 401 Unauthorized
+ code: 401
duration: ""
diff --git a/test/integration/fixtures/TestReservedIPAddresses_ListIPAddressesVariants.yaml b/test/integration/fixtures/TestReservedIPAddresses_ListIPAddressesVariants.yaml
index bffe12226..98c94b473 100644
--- a/test/integration/fixtures/TestReservedIPAddresses_ListIPAddressesVariants.yaml
+++ b/test/integration/fixtures/TestReservedIPAddresses_ListIPAddressesVariants.yaml
@@ -2,7 +2,421 @@
version: 1
interactions:
- request:
- body: '{"region":"us-east"}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:22 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -14,9 +428,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "66.175.209.108", "gateway": "66.175.209.1", "subnet_mask":
- "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "66-175-209-108.ip.linodeusercontent.com",
- "linode_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}'
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -35,13 +450,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "264"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:49 GMT
+ - Mon, 11 May 2026 11:12:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -58,14 +473,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"region":"us-east"}'
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -77,9 +492,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "66.175.209.141", "gateway": "66.175.209.1", "subnet_mask":
- "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "66-175-209-141.ip.linodeusercontent.com",
- "linode_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}'
+ body: '{"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -98,13 +514,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "264"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:49 GMT
+ - Mon, 11 May 2026 11:12:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -121,7 +537,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -138,17 +554,18 @@ interactions:
User-Agent:
- linodego/dev https://github.com/linode/linodego
X-Filter:
- - '{"reserved":true,"region":"us-east"}'
+ - '{"reserved":true,"region":"gb-lon"}'
url: https://api.linode.com/v4beta/networking/ips?page=1
method: GET
response:
- body: '{"page": 1, "pages": 1, "results": 2, "data": [{"address": "66.175.209.108",
- "gateway": "66.175.209.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
- "ipv4", "public": true, "rdns": "66-175-209-108.ip.linodeusercontent.com", "linode_id":
- null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}, {"address":
- "66.175.209.141", "gateway": "66.175.209.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": "66-175-209-141.ip.linodeusercontent.com",
- "linode_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}]}'
+ body: '{"page": 1, "pages": 1, "results": 2, "data": [{"address": "172.237.112.182",
+ "gateway": "172.237.112.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type":
+ "ipv4", "public": true, "rdns": null, "linode_id": null, "interface_id": null,
+ "region": "gb-lon", "vpc_nat_1_1": null, "reserved": true, "assigned_entity":
+ null, "tags": []}, {"address": "172.237.112.211", "gateway": "172.237.112.1",
+ "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true,
+ "rdns": null, "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -167,13 +584,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "579"
+ - "625"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:49 GMT
+ - Mon, 11 May 2026 11:12:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -191,7 +608,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -207,7 +624,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/66.175.209.108
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
method: DELETE
response:
body: '{}'
@@ -235,7 +652,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:50 GMT
+ - Mon, 11 May 2026 11:12:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -268,7 +685,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/66.175.209.141
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.211
method: DELETE
response:
body: '{}'
@@ -296,7 +713,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 05 Sep 2024 17:52:50 GMT
+ - Mon, 11 May 2026 11:12:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestReservedIPAddresses_ReserveIPVariants.yaml b/test/integration/fixtures/TestReservedIPAddresses_ReserveIPVariants.yaml
index 2ff00f7a0..d36e36679 100644
--- a/test/integration/fixtures/TestReservedIPAddresses_ReserveIPVariants.yaml
+++ b/test/integration/fixtures/TestReservedIPAddresses_ReserveIPVariants.yaml
@@ -31,9 +31,11 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 16 Sep 2024 17:00:20 GMT
+ - Mon, 11 May 2026 11:12:35 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
X-Accepted-Oauth-Scopes:
- ips:read_write
X-Frame-Options:
@@ -41,7 +43,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
status: 400 Bad Request
code: 400
duration: ""
@@ -75,9 +77,11 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 16 Sep 2024 17:00:20 GMT
+ - Mon, 11 May 2026 11:12:36 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
X-Accepted-Oauth-Scopes:
- ips:read_write
X-Frame-Options:
@@ -85,7 +89,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
status: 400 Bad Request
code: 400
duration: ""
@@ -119,9 +123,11 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 16 Sep 2024 17:00:20 GMT
+ - Mon, 11 May 2026 11:12:36 GMT
Pragma:
- no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
X-Accepted-Oauth-Scopes:
- ips:read_write
X-Frame-Options:
@@ -129,12 +135,426 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
status: 400 Bad Request
code: 400
duration: ""
- request:
- body: '{"region":"us-east"}'
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:37 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -146,9 +566,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "69.164.208.243", "gateway": "69.164.208.1", "subnet_mask":
- "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "69-164-208-243.ip.linodeusercontent.com",
- "linode_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}'
+ body: '{"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -167,13 +588,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "264"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Mon, 16 Sep 2024 17:00:21 GMT
+ - Mon, 11 May 2026 11:12:37 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -190,14 +611,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"region":"us-east"}'
+ body: '{"region":"gb-lon"}'
form: {}
headers:
Accept:
@@ -209,9 +630,10 @@ interactions:
url: https://api.linode.com/v4beta/networking/reserved/ips
method: POST
response:
- body: '{"address": "45.79.130.88", "gateway": "45.79.130.1", "subnet_mask": "255.255.255.0",
- "prefix": 24, "type": "ipv4", "public": true, "rdns": "45-79-130-88.ip.linodeusercontent.com",
- "linode_id": null, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}'
+ body: '{"address": "172.237.112.182", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -230,13 +652,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "259"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Mon, 16 Sep 2024 17:00:21 GMT
+ - Mon, 11 May 2026 11:12:37 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -253,7 +675,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -269,7 +691,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/69.164.208.243
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.211
method: DELETE
response:
body: '{}'
@@ -297,7 +719,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 16 Sep 2024 17:00:21 GMT
+ - Mon, 11 May 2026 11:12:37 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -330,7 +752,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/networking/reserved/ips/45.79.130.88
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.182
method: DELETE
response:
body: '{}'
@@ -358,7 +780,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Mon, 16 Sep 2024 17:00:21 GMT
+ - Mon, 11 May 2026 11:12:38 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestReservedIPTypes_List.yaml b/test/integration/fixtures/TestReservedIPTypes_List.yaml
new file mode 100644
index 000000000..d66d69b40
--- /dev/null
+++ b/test/integration/fixtures/TestReservedIPTypes_List.yaml
@@ -0,0 +1,67 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/types?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "reserved-ipv4", "label": "Reserved IPv4", "price": {"hourly":
+ 0.0068, "monthly": null}, "region_prices": [], "transfer": 0}], "page": 1, "pages":
+ 1, "results": 1}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "180"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:12:18 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestTag_Create.yaml b/test/integration/fixtures/TestTag_Create.yaml
index 0e1459ccf..06d4852cd 100644
--- a/test/integration/fixtures/TestTag_Create.yaml
+++ b/test/integration/fixtures/TestTag_Create.yaml
@@ -14,265 +14,449 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata"], "status": "ok", "resolvers": {"ipv4": "172.105.34.5, 172.105.35.5,
- 172.105.36.5, 172.105.37.5, 172.105.38.5, 172.105.39.5, 172.105.40.5, 172.105.41.5,
- 172.105.42.5, 172.105.43.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "ca-central", "label": "Toronto, CA", "country": "ca", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata"],
- "status": "ok", "resolvers": {"ipv4": "172.105.0.5, 172.105.3.5, 172.105.4.5,
- 172.105.5.5, 172.105.6.5, 172.105.7.5, 172.105.8.5, 172.105.9.5, 172.105.10.5,
- 172.105.11.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country": "au", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata"],
- "status": "ok", "resolvers": {"ipv4": "172.105.166.5, 172.105.169.5, 172.105.168.5,
- 172.105.172.5, 172.105.162.5, 172.105.170.5, 172.105.167.5, 172.105.171.5, 172.105.181.5,
- 172.105.161.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-iad", "label": "Washington, DC", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "139.144.192.62, 139.144.192.60, 139.144.192.61,
- 139.144.192.53, 139.144.192.54, 139.144.192.67, 139.144.192.69, 139.144.192.66,
- 139.144.192.52, 139.144.192.68", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-ord", "label": "Chicago, IL", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU
- Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17, 172.232.0.16, 172.232.0.21, 172.232.0.13, 172.232.0.22,
- 172.232.0.9, 172.232.0.19, 172.232.0.20, 172.232.0.15, 172.232.0.18", "ipv6":
- "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fr-par", "label":
- "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans"], "status":
- "ok", "resolvers": {"ipv4": "172.232.32.21, 172.232.32.23, 172.232.32.17, 172.232.32.18,
- 172.232.32.16, 172.232.32.22, 172.232.32.20, 172.232.32.14, 172.232.32.11, 172.232.32.12",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-sea", "label":
- "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nz-akl-1",
+ "label": "Auckland, NZ", "country": "nz", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-den-1", "label": "Denver, CO", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "de-ham-1", "label": "Hamburg, DE", "country": "de", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "za-jnb-1", "label": "Johannesburg, ZA", "country": "za", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "my-kul-1", "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "co-bog-1", "label": "Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "mx-qro-1", "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities":
+ ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed
+ Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-hou-1", "label": "Houston, TX", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "cl-scl-1", "label": "Santiago, CL", "country": "cl", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-ber-1",
+ "label": "Berlin, DE", "country": "de", "capabilities": ["Linodes", "Disk Encryption",
+ "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance Policy"],
+ "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4":
+ "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "no-osl-1", "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes",
+ "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block
+ Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall",
+ "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium
+ Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-rno-1",
+ "label": "Reno, NV", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
+ "Backups", "NodeBalancers", "GPU Linodes", "Metadata", "Premium Plans", "Placement
+ Group", "StackScripts", "Maintenance Policy"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "", "ipv6":
+ ""}, "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "co-bog-2",
+ "label": "Bogot\u00e1 2, CO", "country": "co", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "fr-mrs-2", "label": "Marseille 2, FR", "country": "fr", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-mia", "label": "Miami, FL", "country": "us", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.232.160.19, 172.232.160.21, 172.232.160.17, 172.232.160.15, 172.232.160.18,
- 172.232.160.8, 172.232.160.12, 172.232.160.11, 172.232.160.14, 172.232.160.16",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "br-gru", "label":
- "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.233.0.4, 172.233.0.9, 172.233.0.7, 172.233.0.12, 172.233.0.5, 172.233.0.13,
- 172.233.0.10, 172.233.0.6, 172.233.0.8, 172.233.0.11", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country":
- "nl", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.233.33.36, 172.233.33.38,
- 172.233.33.35, 172.233.33.39, 172.233.33.34, 172.233.33.33, 172.233.33.31, 172.233.33.30,
- 172.233.33.37, 172.233.33.32", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country": "se", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "172.232.128.24, 172.232.128.26, 172.232.128.20,
- 172.232.128.22, 172.232.128.25, 172.232.128.19, 172.232.128.23, 172.232.128.18,
- 172.232.128.21, 172.232.128.27", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "es-mad", "label": "Madrid, ES", "country": "es", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok",
- "resolvers": {"ipv4": "172.233.111.6, 172.233.111.17, 172.233.111.21, 172.233.111.25,
- 172.233.111.19, 172.233.111.12, 172.233.111.26, 172.233.111.16, 172.233.111.18,
- 172.233.111.9", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "in-maa", "label": "Chennai, IN", "country": "in", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok",
- "resolvers": {"ipv4": "172.232.96.17, 172.232.96.26, 172.232.96.19, 172.232.96.20,
- 172.232.96.25, 172.232.96.21, 172.232.96.18, 172.232.96.22, 172.232.96.23, 172.232.96.24",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "jp-osa", "label":
- "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44, 172.233.64.43, 172.233.64.37, 172.233.64.40, 172.233.64.46,
- 172.233.64.41, 172.233.64.39, 172.233.64.42, 172.233.64.45, 172.233.64.38",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "it-mil", "label":
- "Milan, IT", "country": "it", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.232.192.19, 172.232.192.18, 172.232.192.16, 172.232.192.20, 172.232.192.24,
- 172.232.192.21, 172.232.192.22, 172.232.192.17, 172.232.192.15, 172.232.192.23",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-mia", "label":
- "Miami, FL", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34, 172.233.160.27, 172.233.160.30, 172.233.160.29, 172.233.160.32,
- 172.233.160.28, 172.233.160.33, 172.233.160.26, 172.233.160.25, 172.233.160.31",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "id-cgk", "label":
- "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.232.224.23, 172.232.224.32, 172.232.224.26, 172.232.224.27, 172.232.224.21,
- 172.232.224.24, 172.232.224.22, 172.232.224.20, 172.232.224.31, 172.232.224.28",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-lax", "label":
- "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.233.128.45, 172.233.128.38, 172.233.128.53, 172.233.128.37, 172.233.128.34,
- 172.233.128.36, 172.233.128.33, 172.233.128.39, 172.233.128.43, 172.233.128.44",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "gb-lon", "label":
- "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.236.0.46, 172.236.0.50,
- 172.236.0.47, 172.236.0.53, 172.236.0.52, 172.236.0.45, 172.236.0.49, 172.236.0.51,
- 172.236.0.54, 172.236.0.48", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23, 172.236.32.35, 172.236.32.30, 172.236.32.28, 172.236.32.32,
- 172.236.32.33, 172.236.32.27, 172.236.32.37, 172.236.32.29, 172.236.32.34",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5, 72.14.188.5, 173.255.199.5, 66.228.53.5,
- 96.126.122.5, 96.126.124.5, 96.126.127.5, 198.58.107.5, 198.58.111.5, 23.239.24.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-west", "label": "Fremont, CA", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5,
- 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5,
- 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label":
- "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "74.207.231.5, 173.230.128.5,
- 173.230.129.5, 173.230.136.5, 173.230.140.5, 66.228.59.5, 66.228.62.5, 50.116.35.5,
- 50.116.41.5, 23.239.18.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label":
- "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "66.228.42.5, 96.126.106.5, 50.116.53.5,
- 50.116.58.5, 50.116.61.5, 50.116.62.5, 66.175.211.5, 97.107.133.4, 207.192.69.4,
- 207.192.69.5", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-west", "label": "London, UK", "country":
- "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4":
- "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5,
- 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-south",
- "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "139.162.11.5,
- 139.162.13.5, 139.162.14.5, 139.162.15.5, 139.162.16.5, 139.162.21.5, 139.162.27.5,
- 103.3.60.18, 103.3.60.19, 103.3.60.20", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata"], "status": "ok", "resolvers": {"ipv4": "139.162.130.5, 139.162.131.5,
- 139.162.132.5, 139.162.133.5, 139.162.134.5, 139.162.135.5, 139.162.136.5, 139.162.137.5,
- 139.162.138.5, 139.162.139.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast", "label":
- "Tokyo, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata"], "status": "ok", "resolvers": {"ipv4": "139.162.66.5,
- 139.162.67.5, 139.162.68.5, 139.162.69.5, 139.162.70.5, 139.162.71.5, 139.162.72.5,
- 139.162.73.5, 139.162.74.5, 139.162.75.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages":
- 1, "results": 27}'
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 47}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -295,7 +479,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 18:29:07 GMT
+ - Wed, 06 May 2026 02:21:18 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -314,14 +498,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"region":"ap-west","type":"g6-nanode-1","label":"go-ins-test-tag","tags":["go-tag-test"]}'
+ body: '{"region":"au-mel","type":"g6-nanode-1","label":"go-ins-test-tag","tags":["go-tag-test"]}'
form: {}
headers:
Accept:
@@ -333,16 +517,20 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 61338609, "label": "go-ins-test-tag", "group": "", "status": "provisioning",
+ body: '{"id": 97190737, "label": "go-ins-test-tag", "group": "", "status": "provisioning",
"created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type":
- "g6-nanode-1", "ipv4": ["172.105.33.33"], "ipv6": "1234::5678/128",
- "image": null, "region": "ap-west", "specs": {"disk": 25600, "memory": 1024,
- "vcpus": 1, "gpus": 0, "transfer": 1000}, "alerts": {"cpu": 90, "network_in":
- 10, "network_out": 10, "transfer_quota": 80, "io": 10000}, "backups": {"enabled":
- true, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ "g6-nanode-1", "ipv4": ["172.237.224.9"], "ipv6": "1234::5678/128",
+ "image": null, "region": "au-mel", "site_type": "core", "specs": {"disk": 25600,
+ "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": ["go-tag-test"],
- "host_uuid": "7c02d8248cd598c0fbe8286e88e0299137474f35", "has_user_data": false,
- "placement_group": null, "lke_cluster_id": null}'
+ "host_uuid": "2048da2cf8f9a3f121e2eadb96aa0a5137cbebef", "has_user_data": false,
+ "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null,
+ "capabilities": ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"],
+ "interface_generation": "legacy_config", "maintenance_policy": "linode/migrate",
+ "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -360,20 +548,19 @@ interactions:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
- Content-Length:
- - "781"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 18:29:07 GMT
+ - Wed, 06 May 2026 02:21:19 GMT
Pragma:
- no-cache
Strict-Transport-Security:
- max-age=31536000
Vary:
- Authorization, X-Filter
+ - Accept-Encoding
X-Accepted-Oauth-Scopes:
- linodes:read_write
X-Content-Type-Options:
@@ -384,14 +571,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "10"
+ - "20"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-ins-test-tag","alerts":{"cpu":90,"io":10000,"network_in":10,"network_out":10,"transfer_quota":80},"watchdog_enabled":true,"tags":["go-tag-test","go-tag-test-bar"],"group":""}'
+ body: '{"label":"go-ins-test-tag","alerts":{"cpu":90,"io":10000,"network_in":10,"network_out":10,"transfer_quota":80},"watchdog_enabled":true,"tags":["go-tag-test","go-tag-test-bar"],"maintenance_policy":"linode/migrate"}'
form: {}
headers:
Accept:
@@ -400,19 +587,23 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/61338609
+ url: https://api.linode.com/v4beta/linode/instances/97190737
method: PUT
response:
- body: '{"id": 61338609, "label": "go-ins-test-tag", "group": "", "status": "provisioning",
+ body: '{"id": 97190737, "label": "go-ins-test-tag", "group": "", "status": "provisioning",
"created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type":
- "g6-nanode-1", "ipv4": ["172.105.33.33"], "ipv6": "1234::5678/128",
- "image": null, "region": "ap-west", "specs": {"disk": 25600, "memory": 1024,
- "vcpus": 1, "gpus": 0, "transfer": 1000}, "alerts": {"cpu": 90, "network_in":
- 10, "network_out": 10, "transfer_quota": 80, "io": 10000}, "backups": {"enabled":
- true, "available": false, "schedule": {"day": "Scheduling", "window": "Scheduling"},
- "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags":
- ["go-tag-test", "go-tag-test-bar"], "host_uuid": "7c02d8248cd598c0fbe8286e88e0299137474f35",
- "has_user_data": false, "placement_group": null, "lke_cluster_id": null}'
+ "g6-nanode-1", "ipv4": ["172.237.224.9"], "ipv6": "1234::5678/128",
+ "image": null, "region": "au-mel", "site_type": "core", "specs": {"disk": 25600,
+ "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": ["go-tag-test",
+ "go-tag-test-bar"], "host_uuid": "2048da2cf8f9a3f121e2eadb96aa0a5137cbebef",
+ "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
+ "lke_cluster_id": null, "capabilities": ["Block Storage Encryption", "SMTP Enabled",
+ "Maintenance Policy"], "interface_generation": "legacy_config", "maintenance_policy":
+ "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -430,20 +621,19 @@ interactions:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
- Content-Length:
- - "816"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 18:29:07 GMT
+ - Wed, 06 May 2026 02:21:20 GMT
Pragma:
- no-cache
Strict-Transport-Security:
- max-age=31536000
Vary:
- Authorization, X-Filter
+ - Accept-Encoding
X-Accepted-Oauth-Scopes:
- linodes:read_write
X-Content-Type-Options:
@@ -454,14 +644,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-tag-test-foo","linodes":[61338609]}'
+ body: '{"label":"go-tag-test-foo","linodes":[97190737]}'
form: {}
headers:
Accept:
@@ -498,7 +688,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 18:29:07 GMT
+ - Wed, 06 May 2026 02:21:21 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -515,7 +705,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -534,11 +724,19 @@ interactions:
url: https://api.linode.com/v4beta/tags?page=1
method: GET
response:
- body: '{"data": [{"label": "1720017781112637000-tag"}, {"label": "1720034737644008000-tag"},
- {"label": "1720036462525806000-tag"}, {"label": "1720187490628487000-tag"},
- {"label": "1720191694198091000-tag"}, {"label": "1720193251044123000-tag"},
- {"label": "go-tag-test"}, {"label": "go-tag-test-bar"}, {"label": "go-tag-test-foo"}],
- "page": 1, "pages": 1, "results": 9}'
+ body: '{"data": [{"label": "bar"}, {"label": "cool"}, {"label": "cooler"}, {"label":
+ "foo"}, {"label": "go-tag-test"}, {"label": "go-tag-test-bar"}, {"label": "go-tag-test-foo"},
+ {"label": "linuke-keep"}, {"label": "test"}, {"label": "test1"}, {"label": "test2"},
+ {"label": "test3"}, {"label": "test4"}, {"label": "test5"}, {"label": "test6"},
+ {"label": "test=true"}, {"label": "testing"}, {"label": "tf_test"}, {"label":
+ "tf_test-2820816664991140163"}, {"label": "tf_test-2820816664991140163-0"},
+ {"label": "tf_test-2820816664991140163-1"}, {"label": "tf_test-2820816664991140163-2"},
+ {"label": "tf_test-7201639259805312086"}, {"label": "tf_test-7201639259805312086-0"},
+ {"label": "tf_test-7201639259805312086-1"}, {"label": "tf_test-7201639259805312086-2"},
+ {"label": "tf_test-8869206596896669974"}, {"label": "tf_test-8869206596896669974-0"},
+ {"label": "tf_test-8869206596896669974-1"}, {"label": "tf_test-8869206596896669974-2"},
+ {"label": "tf_test_2"}, {"label": "tf_test_updated"}], "page": 1, "pages": 1,
+ "results": 32}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -556,14 +754,12 @@ interactions:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
- Content-Length:
- - "361"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 18:29:08 GMT
+ - Wed, 06 May 2026 02:21:22 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -571,6 +767,7 @@ interactions:
Vary:
- Authorization, X-Filter
- Authorization, X-Filter
+ - Accept-Encoding
X-Accepted-Oauth-Scopes:
- account:read_only
X-Content-Type-Options:
@@ -581,7 +778,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -601,16 +798,20 @@ interactions:
method: GET
response:
body: '{"page": 1, "pages": 1, "results": 1, "data": [{"type": "linode", "data":
- {"id": 61338609, "label": "go-ins-test-tag", "group": "", "status": "provisioning",
+ {"id": 97190737, "label": "go-ins-test-tag", "group": "", "status": "provisioning",
"created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type":
- "g6-nanode-1", "ipv4": ["172.105.33.33"], "ipv6": "1234::5678/128",
- "image": null, "region": "ap-west", "specs": {"disk": 25600, "memory": 1024,
- "vcpus": 1, "gpus": 0, "transfer": 1000}, "alerts": {"cpu": 90, "network_in":
- 10, "network_out": 10, "transfer_quota": 80, "io": 10000}, "backups": {"enabled":
- true, "available": false, "schedule": {"day": "Scheduling", "window": "Scheduling"},
- "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags":
- ["go-tag-test", "go-tag-test-bar", "go-tag-test-foo"], "host_uuid": "7c02d8248cd598c0fbe8286e88e0299137474f35",
- "has_user_data": false, "placement_group": null, "lke_cluster_id": null}}]}'
+ "g6-nanode-1", "ipv4": ["172.237.224.9"], "ipv6": "1234::5678/128",
+ "image": null, "region": "au-mel", "site_type": "core", "specs": {"disk": 25600,
+ "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": ["go-tag-test",
+ "go-tag-test-bar", "go-tag-test-foo"], "host_uuid": "2048da2cf8f9a3f121e2eadb96aa0a5137cbebef",
+ "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
+ "lke_cluster_id": null, "capabilities": ["Block Storage Encryption", "SMTP Enabled",
+ "Maintenance Policy"], "interface_generation": "legacy_config", "maintenance_policy":
+ "linode/migrate", "locks": []}}]}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -633,7 +834,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 18:29:08 GMT
+ - Wed, 06 May 2026 02:21:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -652,7 +853,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -696,7 +897,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 18:29:08 GMT
+ - Wed, 06 May 2026 02:21:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -713,7 +914,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -757,7 +958,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 18:29:08 GMT
+ - Wed, 06 May 2026 02:21:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -774,7 +975,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -818,7 +1019,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 18:29:08 GMT
+ - Wed, 06 May 2026 02:21:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -835,7 +1036,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -851,7 +1052,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/61338609
+ url: https://api.linode.com/v4beta/linode/instances/97190737
method: DELETE
response:
body: '{}'
@@ -879,7 +1080,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 18:29:09 GMT
+ - Wed, 06 May 2026 02:21:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -896,7 +1097,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestTag_CreateTagWithReservedIP.yaml b/test/integration/fixtures/TestTag_CreateTagWithReservedIP.yaml
new file mode 100644
index 000000000..70618e1ff
--- /dev/null
+++ b/test/integration/fixtures/TestTag_CreateTagWithReservedIP.yaml
@@ -0,0 +1,795 @@
+---
+version: 1
+interactions:
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:37:10 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"region":"gb-lon"}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips
+ method: POST
+ response:
+ body: '{"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "287"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:37:11 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-tag-test-foo","reserved_ipv4_addresses":["172.237.112.211"]}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/tags
+ method: POST
+ response:
+ body: '{"label": "go-tag-test-foo"}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "28"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:37:11 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - account:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/tags/go-tag-test-foo?page=1
+ method: GET
+ response:
+ body: '{"page": 1, "pages": 1, "results": 1, "data": [{"type": "reserved_ipv4_address",
+ "data": {"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": ["go-tag-test-foo"]}}]}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "396"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:37:11 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - account:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/tags/go-tag-test-foo
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:37:11 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - account:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.211
+ method: GET
+ response:
+ body: '{"address": "172.237.112.211", "gateway": "172.237.112.1", "subnet_mask":
+ "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": null,
+ "linode_id": null, "interface_id": null, "region": "gb-lon", "vpc_nat_1_1":
+ null, "reserved": true, "assigned_entity": null, "tags": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "287"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:37:12 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/networking/reserved/ips/172.237.112.211
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Mon, 11 May 2026 11:37:12 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - ips:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "10"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestVLANs_List.yaml b/test/integration/fixtures/TestVLANs_List.yaml
index bfd9d497f..dce16b562 100644
--- a/test/integration/fixtures/TestVLANs_List.yaml
+++ b/test/integration/fixtures/TestVLANs_List.yaml
@@ -14,294 +14,449 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.105.34.5,
- 172.105.35.5, 172.105.36.5, 172.105.37.5, 172.105.38.5, 172.105.39.5, 172.105.40.5,
- 172.105.41.5, 172.105.42.5, 172.105.43.5", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, CA", "country":
- "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4":
- "172.105.0.5, 172.105.3.5, 172.105.4.5, 172.105.5.5, 172.105.6.5, 172.105.7.5,
- 172.105.8.5, 172.105.9.5, 172.105.10.5, 172.105.11.5", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country":
- "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4":
- "172.105.166.5, 172.105.169.5, 172.105.168.5, 172.105.172.5, 172.105.162.5,
- 172.105.170.5, 172.105.167.5, 172.105.171.5, 172.105.181.5, 172.105.161.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-iad", "label":
- "Washington, DC", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "139.144.192.62, 139.144.192.60, 139.144.192.61,
- 139.144.192.53, 139.144.192.54, 139.144.192.67, 139.144.192.69, 139.144.192.66,
- 139.144.192.52, 139.144.192.68", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-ord", "label": "Chicago, IL", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU
- Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17, 172.232.0.16, 172.232.0.21, 172.232.0.13, 172.232.0.22,
- 172.232.0.9, 172.232.0.19, 172.232.0.20, 172.232.0.15, 172.232.0.18", "ipv6":
- "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fr-par", "label":
- "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nz-akl-1",
+ "label": "Auckland, NZ", "country": "nz", "capabilities": ["Linodes", "Disk
+ Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance
+ Policy"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
+ {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-den-1", "label": "Denver, CO", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "de-ham-1", "label": "Hamburg, DE", "country": "de", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "za-jnb-1", "label": "Johannesburg, ZA", "country": "za", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "my-kul-1", "label": "Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "co-bog-1", "label": "Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "mx-qro-1", "label": "Quer\u00e9taro, MX", "country": "mx", "capabilities":
+ ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed
+ Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-hou-1", "label": "Houston, TX", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "cl-scl-1", "label": "Santiago, CL", "country": "cl", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics":
+ ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4":
+ "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-ber-1",
+ "label": "Berlin, DE", "country": "de", "capabilities": ["Linodes", "Disk Encryption",
+ "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans", "Maintenance Policy"],
+ "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4":
+ "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "no-osl-1", "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes",
+ "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block
+ Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall",
+ "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium
+ Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata", "Premium Plans",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-rno-1",
+ "label": "Reno, NV", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
+ "Backups", "NodeBalancers", "GPU Linodes", "Cloud Firewall", "Metadata", "Premium
+ Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "", "ipv6": ""}, "placement_group_limits": {"maximum_pgs_per_customer":
+ null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
+ "core"}, {"id": "co-bog-2", "label": "Bogot\u00e1 2, CO", "country": "co", "capabilities":
+ ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed
+ Plans", "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "fr-mrs-2", "label": "Marseille 2, FR", "country": "fr", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "Metadata", "Distributed Plans",
+ "Maintenance Policy"], "monitors": {"alerts": [], "metrics": []}, "status":
+ "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": 0, "maximum_linodes_per_pg":
+ 0, "maximum_linodes_per_flexible_pg": 0}, "site_type": "distributed"}, {"id":
+ "us-mia", "label": "Miami, FL", "country": "us", "capabilities": ["Linodes",
+ "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups",
+ "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
+ "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack",
+ "Managed Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "172.232.32.21, 172.232.32.23,
- 172.232.32.17, 172.232.32.18, 172.232.32.16, 172.232.32.22, 172.232.32.20, 172.232.32.14,
- 172.232.32.11, 172.232.32.12", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-sea", "label": "Seattle, WA", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU
- Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium
- Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.160.19,
- 172.232.160.21, 172.232.160.17, 172.232.160.15, 172.232.160.18, 172.232.160.8,
- 172.232.160.12, 172.232.160.11, 172.232.160.14, 172.232.160.16", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "br-gru", "label": "Sao Paulo, BR", "country":
- "br", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.0.4,
- 172.233.0.9, 172.233.0.7, 172.233.0.12, 172.233.0.5, 172.233.0.13, 172.233.0.10,
- 172.233.0.6, 172.233.0.8, 172.233.0.11", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country":
- "nl", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.33.36,
- 172.233.33.38, 172.233.33.35, 172.233.33.39, 172.233.33.34, 172.233.33.33, 172.233.33.31,
- 172.233.33.30, 172.233.33.37, 172.233.33.32", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country":
- "se", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.128.24,
- 172.232.128.26, 172.232.128.20, 172.232.128.22, 172.232.128.25, 172.232.128.19,
- 172.232.128.23, 172.232.128.18, 172.232.128.21, 172.232.128.27", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "es-mad", "label": "Madrid, ES", "country":
- "es", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.111.6,
- 172.233.111.17, 172.233.111.21, 172.233.111.25, 172.233.111.19, 172.233.111.12,
- 172.233.111.26, 172.233.111.16, 172.233.111.18, 172.233.111.9", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-maa", "label": "Chennai, IN", "country":
- "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.96.17,
- 172.232.96.26, 172.232.96.19, 172.232.96.20, 172.232.96.25, 172.232.96.21, 172.232.96.18,
- 172.232.96.22, 172.232.96.23, 172.232.96.24", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-osa", "label": "Osaka, JP", "country":
- "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
- "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44, 172.233.64.43, 172.233.64.37, 172.233.64.40, 172.233.64.46,
- 172.233.64.41, 172.233.64.39, 172.233.64.42, 172.233.64.45, 172.233.64.38",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "it-mil", "label":
- "Milan, IT", "country": "it", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.232.192.19, 172.232.192.18, 172.232.192.16, 172.232.192.20, 172.232.192.24,
- 172.232.192.21, 172.232.192.22, 172.232.192.17, 172.232.192.15, 172.232.192.23",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-mia", "label":
- "Miami, FL", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34, 172.233.160.27, 172.233.160.30, 172.233.160.29, 172.233.160.32,
- 172.233.160.28, 172.233.160.33, 172.233.160.26, 172.233.160.25, 172.233.160.31",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "id-cgk", "label":
- "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.232.224.23, 172.232.224.32, 172.232.224.26, 172.232.224.27, 172.232.224.21,
- 172.232.224.24, 172.232.224.22, 172.232.224.20, 172.232.224.31, 172.232.224.28",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-lax", "label":
- "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.233.128.45, 172.233.128.38, 172.233.128.53, 172.233.128.37, 172.233.128.34,
- 172.233.128.36, 172.233.128.33, 172.233.128.39, 172.233.128.43, 172.233.128.44",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-den-edge-1",
- "label": "Edge - Denver, CO", "country": "us", "capabilities": ["Linodes", "Cloud
- Firewall", "Distributed Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53, 173.223.101.53", "ipv6": "1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "de-ham-edge-1",
- "label": "Edge - Hamburg, DE", "country": "de", "capabilities": ["Linodes",
- "Cloud Firewall", "Distributed Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53, 173.223.101.53", "ipv6": "1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "fr-mrs-edge-1",
- "label": "Edge - Marseille, FR", "country": "fr", "capabilities": ["Linodes",
- "Cloud Firewall", "Distributed Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53, 173.223.101.53", "ipv6": "1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "za-jnb-edge-1",
- "label": "Edge - Johannesburg, ZA\t", "country": "za", "capabilities": ["Linodes",
- "Cloud Firewall", "Distributed Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53, 173.223.101.53", "ipv6": "1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "my-kul-edge-1",
- "label": "Edge - Kuala Lumpur, MY", "country": "my", "capabilities": ["Linodes",
- "Cloud Firewall", "Distributed Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53, 173.223.101.53", "ipv6": "1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "co-bog-edge-1",
- "label": "Edge - Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes",
- "Cloud Firewall", "Distributed Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53, 173.223.101.53", "ipv6": "1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "mx-qro-edge-1",
- "label": "Edge - Quer\u00e9taro, MX", "country": "mx", "capabilities": ["Linodes",
- "Cloud Firewall", "Distributed Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53, 173.223.101.53", "ipv6": "1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "us-hou-edge-1",
- "label": "Edge - Houston, TX", "country": "us", "capabilities": ["Linodes",
- "Cloud Firewall", "Distributed Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53, 173.223.101.53", "ipv6": "1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "cl-scl-edge-1",
- "label": "Edge - Santiago, CL", "country": "cl", "capabilities": ["Linodes",
- "Cloud Firewall", "Distributed Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53, 173.223.101.53", "ipv6": "1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5, 72.14.188.5, 173.255.199.5, 66.228.53.5,
- 96.126.122.5, 96.126.124.5, 96.126.127.5, 198.58.107.5, 198.58.111.5, 23.239.24.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-west", "label": "Fremont, CA", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5,
- 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5,
- 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": null,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label":
- "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "74.207.231.5, 173.230.128.5,
- 173.230.129.5, 173.230.136.5, 173.230.140.5, 66.228.59.5, 66.228.62.5, 50.116.35.5,
- 50.116.41.5, 23.239.18.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": null,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label":
- "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "66.228.42.5, 96.126.106.5, 50.116.53.5,
- 50.116.58.5, 50.116.61.5, 50.116.62.5, 66.175.211.5, 97.107.133.4, 207.192.69.4,
- 207.192.69.5", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-west", "label": "London, UK", "country":
- "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4":
- "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5,
- 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-south",
- "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "139.162.11.5,
- 139.162.13.5, 139.162.14.5, 139.162.15.5, 139.162.16.5, 139.162.21.5, 139.162.27.5,
- 103.3.60.18, 103.3.60.19, 103.3.60.20", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "139.162.130.5,
- 139.162.131.5, 139.162.132.5, 139.162.133.5, 139.162.134.5, 139.162.135.5, 139.162.136.5,
- 139.162.137.5, 139.162.138.5, 139.162.139.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo, JP", "country": "jp", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5, 139.162.67.5, 139.162.68.5, 139.162.69.5,
- 139.162.70.5, 139.162.71.5, 139.162.72.5, 139.162.73.5, 139.162.74.5, 139.162.75.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
"ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}], "page": 1, "pages": 1, "results": 34}'
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 47}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -324,7 +479,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 18:27:33 GMT
+ - Wed, 20 May 2026 18:38:55 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -341,19 +496,16 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"region":"ap-west","type":"g6-nanode-1","label":"go-ins-test-list-0","root_pass":"lO21L5-u2H`i)''*2~$-AXyC!q89)^EN\u003em;ey~6vy\u003eIt9TiRs-5eG460In5R3qD4Y","image":"linode/debian9","interfaces":[{"ipam_address":"10.0.0.1/24","label":"go-vlan-test-list","purpose":"vlan"}],"firewall_id":693021,"booted":true}'
+ body: '{"region":"au-mel","type":"g6-nanode-1","label":"go-ins-test-list-0","root_pass":"p57\u00260:IQ|pP''RL*eV@+E2YwPm1aN|dJm(z16y#\\w:7dQ1M$''31pa5431K@Ac6w/W","image":"linode/debian12","firewall_id":21736190,"booted":true,"interfaces":[{"ipam_address":"10.0.0.1/24","label":"go-vlan-test-list","purpose":"vlan"}]}'
form: {}
headers:
Accept:
@@ -365,16 +517,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 61875475, "label": "go-ins-test-list-0", "group": "", "status":
+ body: '{"id": 97900609, "label": "go-ins-test-list-0", "group": "", "status":
"provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["139.144.1.65"], "ipv6": "1234::5678/128",
- "image": "linode/debian9", "region": "ap-west", "site_type": "core", "specs":
- {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000}, "alerts":
- {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota": 80, "io":
- 10000}, "backups": {"enabled": true, "available": false, "schedule": {"day":
- null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled":
- true, "tags": [], "host_uuid": "0be889ff8efab8e9f1cbbb28b1799aa440e95149", "has_user_data":
- false, "placement_group": null, "lke_cluster_id": null}'
+ "type": "g6-nanode-1", "ipv4": ["172.236.51.176"], "ipv6": "1234::5678/128",
+ "image": "linode/debian12", "region": "au-mel", "site_type": "core", "specs":
+ {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "288e63c85b047d1cb41106d47e6898933356966a", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -392,20 +547,19 @@ interactions:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
- Content-Length:
- - "803"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 18:27:34 GMT
+ - Wed, 20 May 2026 18:38:57 GMT
Pragma:
- no-cache
Strict-Transport-Security:
- max-age=31536000
Vary:
- Authorization, X-Filter
+ - Accept-Encoding
X-Accepted-Oauth-Scopes:
- linodes:read_write
X-Content-Type-Options:
@@ -414,19 +568,16 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "10"
+ - "20"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"region":"ap-west","type":"g6-nanode-1","label":"go-ins-test-list-1","root_pass":"RT.M80/4r8=599k5q00IA\\j9''Vp[OqV5U};9NvhKbn=F+i7\u0026.ljr@|LuV0X,rF{8","image":"linode/debian9","interfaces":[{"ipam_address":"10.0.0.1/24","label":"go-vlan-test-list","purpose":"vlan"}],"firewall_id":693021,"booted":true}'
+ body: '{"region":"au-mel","type":"g6-nanode-1","label":"go-ins-test-list-1","root_pass":"Y5Tmw]P`q26n8:2O`xBzH(#*0#1176\\5dz\\-E8xJtJo7Baq[OAZ;W^,3uv3J3iU:","image":"linode/debian12","firewall_id":21736190,"booted":true,"interfaces":[{"ipam_address":"10.0.0.1/24","label":"go-vlan-test-list","purpose":"vlan"}]}'
form: {}
headers:
Accept:
@@ -438,16 +589,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 61875477, "label": "go-ins-test-list-1", "group": "", "status":
+ body: '{"id": 97900611, "label": "go-ins-test-list-1", "group": "", "status":
"provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["139.144.1.131"], "ipv6": "1234::5678/128",
- "image": "linode/debian9", "region": "ap-west", "site_type": "core", "specs":
- {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000}, "alerts":
- {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota": 80, "io":
- 10000}, "backups": {"enabled": true, "available": false, "schedule": {"day":
- null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled":
- true, "tags": [], "host_uuid": "8aca7a754c37f5b4e94afd4a43d57ad2c7090730", "has_user_data":
- false, "placement_group": null, "lke_cluster_id": null}'
+ "type": "g6-nanode-1", "ipv4": ["172.236.51.198"], "ipv6": "1234::5678/128",
+ "image": "linode/debian12", "region": "au-mel", "site_type": "core", "specs":
+ {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "5387d9832343076b3dd8123772c585acfed1b8ec", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -465,20 +619,19 @@ interactions:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
- Content-Length:
- - "804"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 18:27:35 GMT
+ - Wed, 20 May 2026 18:38:59 GMT
Pragma:
- no-cache
Strict-Transport-Security:
- max-age=31536000
Vary:
- Authorization, X-Filter
+ - Accept-Encoding
X-Accepted-Oauth-Scopes:
- linodes:read_write
X-Content-Type-Options:
@@ -487,12 +640,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "10"
+ - "20"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -508,19 +658,168 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/61875475
+ url: https://api.linode.com/v4beta/linode/instances/97900609
method: GET
response:
- body: '{"id": 61875475, "label": "go-ins-test-list-0", "group": "", "status":
+ body: '{"id": 97900609, "label": "go-ins-test-list-0", "group": "", "status":
"provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["139.144.1.65"], "ipv6": "1234::5678/128",
- "image": "linode/debian9", "region": "ap-west", "site_type": "core", "specs":
- {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000}, "alerts":
- {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota": 80, "io":
- 10000}, "backups": {"enabled": true, "available": false, "schedule": {"day":
- "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor":
- "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "0be889ff8efab8e9f1cbbb28b1799aa440e95149",
- "has_user_data": false, "placement_group": null, "lke_cluster_id": null}'
+ "type": "g6-nanode-1", "ipv4": ["172.236.51.176"], "ipv6": "1234::5678/128",
+ "image": "linode/debian12", "region": "au-mel", "site_type": "core", "specs":
+ {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "288e63c85b047d1cb41106d47e6898933356966a", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 20 May 2026 18:39:14 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - linodes:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/linode/instances/97900609
+ method: GET
+ response:
+ body: '{"id": 97900609, "label": "go-ins-test-list-0", "group": "", "status":
+ "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
+ "type": "g6-nanode-1", "ipv4": ["172.236.51.176"], "ipv6": "1234::5678/128",
+ "image": "linode/debian12", "region": "au-mel", "site_type": "core", "specs":
+ {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "288e63c85b047d1cb41106d47e6898933356966a", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 20 May 2026 18:39:29 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - linodes:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/linode/instances/97900609
+ method: GET
+ response:
+ body: '{"id": 97900609, "label": "go-ins-test-list-0", "group": "", "status":
+ "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
+ "type": "g6-nanode-1", "ipv4": ["172.236.51.176"], "ipv6": "1234::5678/128",
+ "image": "linode/debian12", "region": "au-mel", "site_type": "core", "specs":
+ {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "288e63c85b047d1cb41106d47e6898933356966a", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -538,14 +837,12 @@ interactions:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
- Content-Length:
- - "819"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 18:27:50 GMT
+ - Wed, 20 May 2026 18:39:44 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -553,6 +850,7 @@ interactions:
Vary:
- Authorization, X-Filter
- Authorization, X-Filter
+ - Accept-Encoding
X-Accepted-Oauth-Scopes:
- linodes:read_only
X-Content-Type-Options:
@@ -561,12 +859,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -582,19 +877,22 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/61875475
+ url: https://api.linode.com/v4beta/linode/instances/97900609
method: GET
response:
- body: '{"id": 61875475, "label": "go-ins-test-list-0", "group": "", "status":
+ body: '{"id": 97900609, "label": "go-ins-test-list-0", "group": "", "status":
"booting", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["139.144.1.65"], "ipv6": "1234::5678/128",
- "image": "linode/debian9", "region": "ap-west", "site_type": "core", "specs":
- {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000}, "alerts":
- {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota": 80, "io":
- 10000}, "backups": {"enabled": true, "available": false, "schedule": {"day":
- "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor":
- "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "0be889ff8efab8e9f1cbbb28b1799aa440e95149",
- "has_user_data": false, "placement_group": null, "lke_cluster_id": null}'
+ "type": "g6-nanode-1", "ipv4": ["172.236.51.176"], "ipv6": "1234::5678/128",
+ "image": "linode/debian12", "region": "au-mel", "site_type": "core", "specs":
+ {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "288e63c85b047d1cb41106d47e6898933356966a", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -612,14 +910,12 @@ interactions:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
- Content-Length:
- - "814"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 18:28:05 GMT
+ - Wed, 20 May 2026 18:39:59 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -627,6 +923,7 @@ interactions:
Vary:
- Authorization, X-Filter
- Authorization, X-Filter
+ - Accept-Encoding
X-Accepted-Oauth-Scopes:
- linodes:read_only
X-Content-Type-Options:
@@ -635,12 +932,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -656,19 +950,22 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/61875475
+ url: https://api.linode.com/v4beta/linode/instances/97900609
method: GET
response:
- body: '{"id": 61875475, "label": "go-ins-test-list-0", "group": "", "status":
+ body: '{"id": 97900609, "label": "go-ins-test-list-0", "group": "", "status":
"running", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["139.144.1.65"], "ipv6": "1234::5678/128",
- "image": "linode/debian9", "region": "ap-west", "site_type": "core", "specs":
- {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000}, "alerts":
- {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota": 80, "io":
- 10000}, "backups": {"enabled": true, "available": false, "schedule": {"day":
- "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor":
- "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "0be889ff8efab8e9f1cbbb28b1799aa440e95149",
- "has_user_data": false, "placement_group": null, "lke_cluster_id": null}'
+ "type": "g6-nanode-1", "ipv4": ["172.236.51.176"], "ipv6": "1234::5678/128",
+ "image": "linode/debian12", "region": "au-mel", "site_type": "core", "specs":
+ {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "288e63c85b047d1cb41106d47e6898933356966a", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -686,14 +983,12 @@ interactions:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
- Content-Length:
- - "814"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 18:28:20 GMT
+ - Wed, 20 May 2026 18:40:14 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -701,6 +996,7 @@ interactions:
Vary:
- Authorization, X-Filter
- Authorization, X-Filter
+ - Accept-Encoding
X-Accepted-Oauth-Scopes:
- linodes:read_only
X-Content-Type-Options:
@@ -709,12 +1005,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -730,19 +1023,22 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/61875477
+ url: https://api.linode.com/v4beta/linode/instances/97900611
method: GET
response:
- body: '{"id": 61875477, "label": "go-ins-test-list-1", "group": "", "status":
+ body: '{"id": 97900611, "label": "go-ins-test-list-1", "group": "", "status":
"running", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["139.144.1.131"], "ipv6": "1234::5678/128",
- "image": "linode/debian9", "region": "ap-west", "site_type": "core", "specs":
- {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000}, "alerts":
- {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota": 80, "io":
- 10000}, "backups": {"enabled": true, "available": false, "schedule": {"day":
- "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor":
- "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "8aca7a754c37f5b4e94afd4a43d57ad2c7090730",
- "has_user_data": false, "placement_group": null, "lke_cluster_id": null}'
+ "type": "g6-nanode-1", "ipv4": ["172.236.51.198"], "ipv6": "1234::5678/128",
+ "image": "linode/debian12", "region": "au-mel", "site_type": "core", "specs":
+ {"disk": 25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
+ 0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "5387d9832343076b3dd8123772c585acfed1b8ec", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -760,14 +1056,12 @@ interactions:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
- Content-Length:
- - "815"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 18:28:35 GMT
+ - Wed, 20 May 2026 18:40:29 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -775,6 +1069,7 @@ interactions:
Vary:
- Authorization, X-Filter
- Authorization, X-Filter
+ - Accept-Encoding
X-Accepted-Oauth-Scopes:
- linodes:read_only
X-Content-Type-Options:
@@ -783,12 +1078,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -809,8 +1101,8 @@ interactions:
url: https://api.linode.com/v4beta/networking/vlans?page=1
method: GET
response:
- body: '{"data": [{"region": "ap-west", "label": "go-vlan-test-list", "linodes":
- [61875475, 61875477], "created": "2018-01-02T03:04:05"}], "page": 1, "pages":
+ body: '{"data": [{"region": "au-mel", "label": "go-vlan-test-list", "linodes":
+ [97900609, 97900611], "created": "2018-01-02T03:04:05"}], "page": 1, "pages":
1, "results": 1}'
headers:
Access-Control-Allow-Credentials:
@@ -830,13 +1122,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "167"
+ - "166"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 18:28:35 GMT
+ - Wed, 20 May 2026 18:40:29 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -852,12 +1144,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -873,7 +1162,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/61875477
+ url: https://api.linode.com/v4beta/linode/instances/97900611
method: DELETE
response:
body: '{}'
@@ -901,7 +1190,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 18:28:35 GMT
+ - Wed, 20 May 2026 18:40:30 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -916,12 +1205,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -937,7 +1223,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/61875475
+ url: https://api.linode.com/v4beta/linode/instances/97900609
method: DELETE
response:
body: '{}'
@@ -965,7 +1251,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 25 Jul 2024 18:28:36 GMT
+ - Wed, 20 May 2026 18:40:30 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -980,12 +1266,9 @@ interactions:
- DENY
- DENY
X-Oauth-Scopes:
- - account:read_write databases:read_write domains:read_write events:read_write
- firewall:read_write images:read_write ips:read_write linodes:read_write lke:read_write
- longview:read_write nodebalancers:read_write object_storage:read_write stackscripts:read_write
- volumes:read_write vpc:read_write
+ - '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestVPC_CreateGet.yaml b/test/integration/fixtures/TestVPC_CreateGet.yaml
index 314fef84e..949877943 100644
--- a/test/integration/fixtures/TestVPC_CreateGet.yaml
+++ b/test/integration/fixtures/TestVPC_CreateGet.yaml
@@ -11,311 +11,37 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/regions?page=1
+ url: https://api.devcloud.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
- "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
- "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
- "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
- "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
- "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
- "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
- "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
- "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
- "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
- "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
- "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
- "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
- "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
- "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
- "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
- "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
- "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ body: '{"data": [{"id": "pl-labkrk-2", "label": "Krakow, PL", "country": "pl",
+ "capabilities": ["Linodes", "Block Storage Encryption", "LA Disk Encryption",
+ "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
"GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT
- Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []},
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
- "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
- "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
- "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Block Storage Migrations", "Managed
Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
- "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok",
- "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Disk
- Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces", "Network LoadBalancer",
+ "ACLP Logs Datacenter LKE-E", "Cloud Firewall Prefix List Current References"],
+ "monitors": {"alerts": ["Linodes", "Managed Databases", "Network LoadBalancer",
+ "NodeBalancers", "Object Storage", "logs"], "metrics": ["Linodes", "Managed
+ Databases", "Network LoadBalancer", "NodeBalancers", "Object Storage", "logs"]},
+ "status": "ok", "resolvers": {"ipv4": "172.24.224.240,172.24.224.229,172.24.224.236,172.24.224.238,172.24.224.235,172.24.224.241,172.24.224.230,172.24.224.239,172.24.224.233,172.24.224.234",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}], "page": 1,
- "pages": 1, "results": 32}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-labedgeeat-2",
+ "label": "East Wenatchee, US", "country": "us", "capabilities": ["Linodes",
+ "Disk Encryption", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC
+ IPv6 Stack", "Metadata", "Distributed Plans", "Linode Interfaces"], "monitors":
+ {"alerts": [], "metrics": []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
+ "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
+ 0, "maximum_linodes_per_pg": 0, "maximum_linodes_per_flexible_pg": 0}, "site_type":
+ "distributed"}, {"id": "us-labedgeeat-3", "label": "East Wenatchee, US", "country":
+ "us", "capabilities": ["Linodes", "Disk Encryption", "Cloud Firewall", "Vlans",
+ "Metadata", "Distributed Plans", "Linode Interfaces"], "monitors": {"alerts":
+ [], "metrics": []}, "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
+ "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
+ 0, "maximum_linodes_per_pg": 0, "maximum_linodes_per_flexible_pg": 0}, "site_type":
+ "distributed"}], "page": 1, "pages": 1, "results": 3}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -330,23 +56,21 @@ interactions:
Akamai-Internal-Account:
- '*'
Cache-Control:
- - max-age=0, no-cache, no-store
+ - private, max-age=900
+ - private, max-age=60, s-maxage=60
Connection:
- keep-alive
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
- Expires:
- - Fri, 22 Aug 2025 17:42:53 GMT
- Pragma:
- - no-cache
+ Server:
+ - nginx
Strict-Transport-Security:
- max-age=31536000
Vary:
- Authorization, X-Filter
- Authorization, X-Filter
- - Accept-Encoding
X-Accepted-Oauth-Scopes:
- '*'
X-Content-Type-Options:
@@ -357,14 +81,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "400"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-test-vpc-1755884573018670000","region":"us-iad"}'
+ body: '{"label":"go-test-vpc-1781265517233035000","region":"pl-labkrk-2"}'
form: {}
headers:
Accept:
@@ -373,11 +97,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs
+ url: https://api.devcloud.linode.com/v4beta/vpcs
method: POST
response:
- body: '{"id": 233449, "label": "go-test-vpc-1755884573018670000", "description":
- "", "region": "us-iad", "ipv6": null, "subnets": [], "created": "2018-01-02T03:04:05",
+ body: '{"id": 410316, "label": "go-test-vpc-1781265517233035000", "description":
+ "", "region": "pl-labkrk-2", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "192.168.0.0/17"}],
+ "ipv6": null, "subnets": [], "vpc_type": "regular", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05"}'
headers:
Access-Control-Allow-Credentials:
@@ -393,19 +118,17 @@ interactions:
Akamai-Internal-Account:
- '*'
Cache-Control:
- - max-age=0, no-cache, no-store
+ - private, max-age=60, s-maxage=60
Connection:
- keep-alive
Content-Length:
- - "194"
+ - "286"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
- Expires:
- - Fri, 22 Aug 2025 17:42:53 GMT
- Pragma:
- - no-cache
+ Server:
+ - nginx
Strict-Transport-Security:
- max-age=31536000
Vary:
@@ -420,7 +143,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "15"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -436,11 +159,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233449
+ url: https://api.devcloud.linode.com/v4beta/vpcs/410316
method: GET
response:
- body: '{"id": 233449, "label": "go-test-vpc-1755884573018670000", "description":
- "", "region": "us-iad", "ipv6": null, "subnets": [], "created": "2018-01-02T03:04:05",
+ body: '{"id": 410316, "label": "go-test-vpc-1781265517233035000", "description":
+ "", "region": "pl-labkrk-2", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "192.168.0.0/17"}],
+ "ipv6": null, "subnets": [], "vpc_type": "regular", "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05"}'
headers:
Access-Control-Allow-Credentials:
@@ -456,19 +180,18 @@ interactions:
Akamai-Internal-Account:
- '*'
Cache-Control:
- - max-age=0, no-cache, no-store
+ - private, max-age=0, s-maxage=0, no-cache, no-store
+ - private, max-age=60, s-maxage=60
Connection:
- keep-alive
Content-Length:
- - "194"
+ - "286"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
- Expires:
- - Fri, 22 Aug 2025 17:42:53 GMT
- Pragma:
- - no-cache
+ Server:
+ - nginx
Strict-Transport-Security:
- max-age=31536000
Vary:
@@ -484,7 +207,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "400"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -500,7 +223,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233449
+ url: https://api.devcloud.linode.com/v4beta/vpcs/410316
method: DELETE
response:
body: '{}'
@@ -518,7 +241,7 @@ interactions:
Akamai-Internal-Account:
- '*'
Cache-Control:
- - max-age=0, no-cache, no-store
+ - private, max-age=60, s-maxage=60
Connection:
- keep-alive
Content-Length:
@@ -527,10 +250,8 @@ interactions:
- default-src 'none'
Content-Type:
- application/json
- Expires:
- - Fri, 22 Aug 2025 17:42:54 GMT
- Pragma:
- - no-cache
+ Server:
+ - nginx
Strict-Transport-Security:
- max-age=31536000
Vary:
@@ -545,7 +266,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "400"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestVPC_Create_Invalid.yaml b/test/integration/fixtures/TestVPC_Create_Invalid.yaml
index 9e8ad9949..6d2d50c1e 100644
--- a/test/integration/fixtures/TestVPC_Create_Invalid.yaml
+++ b/test/integration/fixtures/TestVPC_Create_Invalid.yaml
@@ -14,308 +14,382 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
- "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
- "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
- "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
- "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
- "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
- "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
"label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
"label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
"label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
"label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
"label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
"label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
"label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
"label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
- "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
"label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT
- Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []},
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
"label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
"label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
"label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "Custom VPC IPv4 Ranges", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics":
+ ["Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
- "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok",
- "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Disk
- Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}], "page": 1,
- "pages": 1, "results": 32}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -338,7 +412,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:57 GMT
+ - Fri, 26 Jun 2026 09:32:06 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -364,7 +438,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"gotest_vpc_invalid_label1755884576804894000","region":"us-iad"}'
+ body: '{"label":"gotest_vpc_invalid_label!1782466325548319000","region":"au-mel"}'
form: {}
headers:
Accept:
@@ -376,8 +450,8 @@ interactions:
url: https://api.linode.com/v4beta/vpcs
method: POST
response:
- body: '{"errors": [{"reason": "Label must include only ASCII letters, numbers,
- and dashes", "field": "label"}]}'
+ body: '{"errors": [{"reason": "Must only use ASCII letters, numbers, and underscores",
+ "field": "label"}]}'
headers:
Access-Control-Allow-Headers:
- Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
@@ -390,11 +464,11 @@ interactions:
Cache-Control:
- max-age=0, no-cache, no-store
Content-Length:
- - "104"
+ - "99"
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:57 GMT
+ - Fri, 26 Jun 2026 09:32:06 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -406,7 +480,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "15"
status: 400 Bad Request
code: 400
duration: ""
diff --git a/test/integration/fixtures/TestVPC_List.yaml b/test/integration/fixtures/TestVPC_List.yaml
index afcedf33c..600049e97 100644
--- a/test/integration/fixtures/TestVPC_List.yaml
+++ b/test/integration/fixtures/TestVPC_List.yaml
@@ -14,308 +14,382 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
- "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
- "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
- "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
- "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
- "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
- "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
"label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
"label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
"label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
"label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
"label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
"label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
"label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
"label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
- "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
"label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT
- Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []},
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
"label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
"label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
"label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "Custom VPC IPv4 Ranges", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics":
+ ["Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
- "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok",
- "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Disk
- Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}], "page": 1,
- "pages": 1, "results": 32}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -338,7 +412,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:55 GMT
+ - Fri, 26 Jun 2026 09:18:35 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -364,7 +438,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-vpc-1755884575585909000","region":"us-iad"}'
+ body: '{"label":"go-test-vpc-1782465515384033000","region":"au-mel"}'
form: {}
headers:
Accept:
@@ -376,8 +450,9 @@ interactions:
url: https://api.linode.com/v4beta/vpcs
method: POST
response:
- body: '{"id": 233451, "label": "go-test-vpc-1755884575585909000", "description":
- "", "region": "us-iad", "ipv6": null, "subnets": [], "created": "2018-01-02T03:04:05",
+ body: '{"id": 555386, "label": "go-test-vpc-1782465515384033000", "description":
+ "", "region": "au-mel", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "172.16.0.0/12"},
+ {"range": "192.168.0.0/17"}], "ipv6": null, "subnets": [], "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05"}'
headers:
Access-Control-Allow-Credentials:
@@ -397,13 +472,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "194"
+ - "286"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:56 GMT
+ - Fri, 26 Jun 2026 09:18:36 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -420,7 +495,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "15"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -439,8 +514,9 @@ interactions:
url: https://api.linode.com/v4beta/vpcs?page=1
method: GET
response:
- body: '{"data": [{"id": 233451, "label": "go-test-vpc-1755884575585909000", "description":
- "", "region": "us-iad", "ipv6": null, "subnets": [], "created": "2018-01-02T03:04:05",
+ body: '{"data": [{"id": 555386, "label": "go-test-vpc-1782465515384033000", "description":
+ "", "region": "au-mel", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "172.16.0.0/12"},
+ {"range": "192.168.0.0/17"}], "ipv6": null, "subnets": [], "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05"}], "page": 1, "pages": 1, "results": 1}'
headers:
Access-Control-Allow-Credentials:
@@ -460,13 +536,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "243"
+ - "335"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:56 GMT
+ - Fri, 26 Jun 2026 09:18:36 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -500,7 +576,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233451
+ url: https://api.linode.com/v4beta/vpcs/555386
method: DELETE
response:
body: '{}'
@@ -528,7 +604,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:56 GMT
+ - Fri, 26 Jun 2026 09:18:36 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestVPC_ListAllIPAddresses.yaml b/test/integration/fixtures/TestVPC_ListAllIPAddresses.yaml
index 37b23713b..f92873b6c 100644
--- a/test/integration/fixtures/TestVPC_ListAllIPAddresses.yaml
+++ b/test/integration/fixtures/TestVPC_ListAllIPAddresses.yaml
@@ -14,308 +14,382 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
- "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
- "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
- "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
- "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
- "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
- "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
"label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
"label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
"label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
"label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
"label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
"label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
"label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
"label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
- "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
"label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT
- Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []},
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
"label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
"label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
"label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "Custom VPC IPv4 Ranges", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics":
+ ["Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
- "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok",
- "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Disk
- Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}], "page": 1,
- "pages": 1, "results": 32}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -338,7 +412,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:58 GMT
+ - Fri, 26 Jun 2026 09:18:37 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -364,7 +438,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-iad","type":"g6-nanode-1","label":"go-test-ins-wo-disk-o1v54juv4l37","firewall_id":3116261,"booted":false}'
+ body: '{"region":"au-mel","type":"g6-nanode-1","label":"go-test-ins-wo-disk-29fp27uu86su","firewall_id":49588879,"booted":false}'
form: {}
headers:
Accept:
@@ -376,18 +450,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82362789, "label": "go-test-ins-wo-disk-o1v54juv4l37", "group":
+ body: '{"id": 99814481, "label": "go-test-ins-wo-disk-29fp27uu86su", "group":
"", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["139.144.198.116"], "ipv6": "1234::5678/128",
- "image": null, "region": "us-iad", "site_type": "core", "specs": {"disk": 25600,
+ "type": "g6-nanode-1", "ipv4": ["172.236.60.146"], "ipv6": "1234::5678/128",
+ "image": null, "region": "au-mel", "site_type": "core", "specs": {"disk": 25600,
"memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "10f600d14ca30a2a82e6b307b0f4a5f762251797",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": ["Block Storage Encryption"], "interface_generation":
- "legacy_config"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "6c9b57be39471d7888b736f623fe5527fd93c553", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -410,7 +485,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:59 GMT
+ - Fri, 26 Jun 2026 09:18:38 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -435,7 +510,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-conf-d8hr96d2l9u3","devices":{},"interfaces":null}'
+ body: '{"label":"go-test-conf-m6t263icx4b2","devices":{},"interfaces":null}'
form: {}
headers:
Accept:
@@ -444,10 +519,10 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82362789/configs
+ url: https://api.linode.com/v4beta/linode/instances/99814481/configs
method: POST
response:
- body: '{"id": 85826682, "label": "go-test-conf-d8hr96d2l9u3", "helpers": {"updatedb_disabled":
+ body: '{"id": 103266072, "label": "go-test-conf-m6t263icx4b2", "helpers": {"updatedb_disabled":
true, "distro": true, "modules_dep": true, "network": false, "devtmpfs_automount":
true}, "kernel": "linode/latest-64bit", "comments": "", "memory_limit": 0, "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "root_device": "/dev/sda",
@@ -472,13 +547,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "540"
+ - "541"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:00 GMT
+ - Fri, 26 Jun 2026 09:18:38 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -502,7 +577,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-vpc-1755884579955057000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1755884579955468000","ipv4":"192.168.0.0/25"}]}'
+ body: '{"label":"go-test-vpc-1782465518486305000","region":"au-mel","subnets":[{"label":"linodego-vpc-test-1782465518486566000","ipv4":"192.168.0.0/25"}]}'
form: {}
headers:
Accept:
@@ -514,11 +589,13 @@ interactions:
url: https://api.linode.com/v4beta/vpcs
method: POST
response:
- body: '{"id": 233453, "label": "go-test-vpc-1755884579955057000", "description":
- "", "region": "us-iad", "ipv6": null, "subnets": [{"id": 240936, "label": "linodego-vpc-test-1755884579955468000",
- "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "databases": [], "nodebalancers":
- [], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}], "created":
- "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}'
+ body: '{"id": 555387, "label": "go-test-vpc-1782465518486305000", "description":
+ "", "region": "au-mel", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "172.16.0.0/12"},
+ {"range": "192.168.0.0/17"}], "ipv6": null, "subnets": [{"id": 766579, "label":
+ "linodego-vpc-test-1782465518486566000", "ipv4": "192.168.0.0/25", "ipv6": null,
+ "linodes": [], "databases": [], "nodebalancers": [], "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05"}], "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05"}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -537,13 +614,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "419"
+ - "511"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:00 GMT
+ - Fri, 26 Jun 2026 09:18:38 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -560,14 +637,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "15"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-test-conf-d8hr96d2l9u3","comments":"","devices":{},"helpers":{"updatedb_disabled":true,"distro":true,"modules_dep":true,"network":false,"devtmpfs_automount":true},"interfaces":[{"purpose":"vpc","subnet_id":240936,"ipv4":{"nat_1_1":"any"}}],"memory_limit":0,"kernel":"linode/latest-64bit","init_rd":null,"root_device":"/dev/sda","run_level":"default","virt_mode":"paravirt"}'
+ body: '{"label":"go-test-conf-m6t263icx4b2","comments":"","devices":{},"helpers":{"updatedb_disabled":true,"distro":true,"modules_dep":true,"network":false,"devtmpfs_automount":true},"interfaces":[{"purpose":"vpc","subnet_id":766579,"ipv4":{"nat_1_1":"any"}}],"memory_limit":0,"kernel":"linode/latest-64bit","init_rd":null,"root_device":"/dev/sda","run_level":"default","virt_mode":"paravirt"}'
form: {}
headers:
Accept:
@@ -576,18 +653,18 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82362789/configs/85826682
+ url: https://api.linode.com/v4beta/linode/instances/99814481/configs/103266072
method: PUT
response:
- body: '{"id": 85826682, "label": "go-test-conf-d8hr96d2l9u3", "helpers": {"updatedb_disabled":
+ body: '{"id": 103266072, "label": "go-test-conf-m6t263icx4b2", "helpers": {"updatedb_disabled":
true, "distro": true, "modules_dep": true, "network": false, "devtmpfs_automount":
true}, "kernel": "linode/latest-64bit", "comments": "", "memory_limit": 0, "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "root_device": "/dev/sda",
"devices": {"sda": null, "sdb": null, "sdc": null, "sdd": null, "sde": null,
"sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default",
- "virt_mode": "paravirt", "interfaces": [{"id": 6760443, "purpose": "vpc", "primary":
- false, "active": false, "ipam_address": null, "label": null, "vpc_id": 233453,
- "subnet_id": 240936, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "139.144.198.116"},
+ "virt_mode": "paravirt", "interfaces": [{"id": 13357728, "purpose": "vpc", "primary":
+ false, "active": false, "ipam_address": null, "label": null, "vpc_id": 555387,
+ "subnet_id": 766579, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "172.236.60.146"},
"ip_ranges": [], "ipv6": null}]}'
headers:
Access-Control-Allow-Credentials:
@@ -607,13 +684,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "777"
+ - "778"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:01 GMT
+ - Fri, 26 Jun 2026 09:18:39 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -647,15 +724,16 @@ interactions:
User-Agent:
- linodego/dev https://github.com/linode/linodego
X-Filter:
- - '{"linode_id": 82362789}'
+ - '{"linode_id": 99814481}'
url: https://api.linode.com/v4beta/vpcs/ips?page=1
method: GET
response:
- body: '{"data": [{"address": "192.168.0.2", "address_range": null, "vpc_id": 233453,
- "subnet_id": 240936, "region": "us-iad", "linode_id": 82362789, "config_id":
- 85826682, "interface_id": 6760443, "nodebalancer_id": null, "database_id": null,
- "active": false, "nat_1_1": "139.144.198.116", "gateway": "192.168.0.1", "prefix":
- 25, "subnet_mask": "255.255.255.128"}], "page": 1, "pages": 1, "results": 1}'
+ body: '{"data": [{"address": "192.168.0.2", "address_range": null, "vpc_id": 555387,
+ "subnet_id": 766579, "region": "au-mel", "linode_id": 99814481, "config_id":
+ 103266072, "interface_id": 13357728, "nodebalancer_id": null, "database_id":
+ null, "active": false, "nat_1_1": "172.236.60.146", "gateway": "192.168.0.1",
+ "prefix": 25, "subnet_mask": "255.255.255.128"}], "page": 1, "pages": 1, "results":
+ 1}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -674,13 +752,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "395"
+ - "396"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:01 GMT
+ - Fri, 26 Jun 2026 09:18:39 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -714,7 +792,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82362789
+ url: https://api.linode.com/v4beta/linode/instances/99814481
method: DELETE
response:
body: '{}'
@@ -742,7 +820,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:02 GMT
+ - Fri, 26 Jun 2026 09:18:40 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -775,7 +853,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233453
+ url: https://api.linode.com/v4beta/vpcs/555387
method: DELETE
response:
body: '{}'
@@ -803,7 +881,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:03 GMT
+ - Fri, 26 Jun 2026 09:18:40 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestVPC_ListAllIPv6Addresses.yaml b/test/integration/fixtures/TestVPC_ListAllIPv6Addresses.yaml
index d3e66902b..232de0683 100644
--- a/test/integration/fixtures/TestVPC_ListAllIPv6Addresses.yaml
+++ b/test/integration/fixtures/TestVPC_ListAllIPv6Addresses.yaml
@@ -14,308 +14,382 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
- "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
- "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
- "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
- "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
- "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
- "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
"label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
"label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
"label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
"label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
"label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
"label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
"label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
"label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
- "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
"label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT
- Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []},
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
"label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
"label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
"label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "Custom VPC IPv4 Ranges", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics":
+ ["Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
- "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok",
- "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Disk
- Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}], "page": 1,
- "pages": 1, "results": 32}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -338,7 +412,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:08 GMT
+ - Fri, 26 Jun 2026 09:18:45 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -364,7 +438,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"no-osl-1","type":"g6-nanode-1","label":"go-test-ins-wo-disk-507knhu110uz","firewall_id":3116261,"booted":false}'
+ body: '{"region":"no-osl-1","type":"g6-nanode-1","label":"go-test-ins-wo-disk-384j5a5p2nnd","firewall_id":49588879,"booted":false}'
form: {}
headers:
Accept:
@@ -376,18 +450,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82362798, "label": "go-test-ins-wo-disk-507knhu110uz", "group":
+ body: '{"id": 99814497, "label": "go-test-ins-wo-disk-384j5a5p2nnd", "group":
"", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["172.238.148.239"], "ipv6": "1234::5678/128",
+ "type": "g6-nanode-1", "ipv4": ["172.238.140.16"], "ipv6": "1234::5678/128",
"image": null, "region": "no-osl-1", "site_type": "core", "specs": {"disk":
25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "19aaade9769b0f6bf711935695c361ae01f23d55",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": ["Block Storage Encryption"], "interface_generation":
- "legacy_config"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "4fb425e782ad9fd5cfe05a259d1f5c1e0ce15f27", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -410,7 +485,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:09 GMT
+ - Fri, 26 Jun 2026 09:18:46 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -435,7 +510,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-conf-o3253z32haor","devices":{},"interfaces":null}'
+ body: '{"label":"go-test-conf-84326euukk4c","devices":{},"interfaces":null}'
form: {}
headers:
Accept:
@@ -444,10 +519,10 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82362798/configs
+ url: https://api.linode.com/v4beta/linode/instances/99814497/configs
method: POST
response:
- body: '{"id": 85826690, "label": "go-test-conf-o3253z32haor", "helpers": {"updatedb_disabled":
+ body: '{"id": 103266086, "label": "go-test-conf-84326euukk4c", "helpers": {"updatedb_disabled":
true, "distro": true, "modules_dep": true, "network": false, "devtmpfs_automount":
true}, "kernel": "linode/latest-64bit", "comments": "", "memory_limit": 0, "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "root_device": "/dev/sda",
@@ -472,13 +547,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "540"
+ - "541"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:10 GMT
+ - Fri, 26 Jun 2026 09:18:46 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -502,7 +577,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-vpc-1755884590112545000","region":"no-osl-1","ipv6":[{"range":"/52"}],"subnets":[{"label":"linodego-vpc-test-1755884590112760000","ipv4":"192.168.0.0/25","ipv6":[{"range":"/62"}]}]}'
+ body: '{"label":"go-test-vpc-1782465526604189000","region":"no-osl-1","ipv6":[{"range":"/52"}],"subnets":[{"label":"linodego-vpc-test-1782465526604508000","ipv4":"192.168.0.0/25","ipv6":[{"range":"/62"}]}]}'
form: {}
headers:
Accept:
@@ -514,9 +589,10 @@ interactions:
url: https://api.linode.com/v4beta/vpcs
method: POST
response:
- body: '{"id": 233455, "label": "go-test-vpc-1755884590112545000", "description":
- "", "region": "no-osl-1", "ipv6": [{"range": "1234::5678/52"}], "subnets":
- [{"id": 240938, "label": "linodego-vpc-test-1755884590112760000", "ipv4": "192.168.0.0/25",
+ body: '{"id": 555389, "label": "go-test-vpc-1782465526604189000", "description":
+ "", "region": "no-osl-1", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "172.16.0.0/12"},
+ {"range": "192.168.0.0/17"}], "ipv6": [{"range": "1234::5678/52"}], "subnets":
+ [{"id": 766581, "label": "linodego-vpc-test-1782465526604508000", "ipv4": "192.168.0.0/25",
"ipv6": [{"range": "1234::5678/62"}], "linodes": [], "databases": [],
"nodebalancers": [], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}],
"created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}'
@@ -538,13 +614,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "481"
+ - "573"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:14 GMT
+ - Fri, 26 Jun 2026 09:18:49 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -561,14 +637,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "15"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-test-conf-o3253z32haor","comments":"","devices":{},"helpers":{"updatedb_disabled":true,"distro":true,"modules_dep":true,"network":false,"devtmpfs_automount":true},"interfaces":[{"purpose":"vpc","subnet_id":240938,"ipv4":{"nat_1_1":"any"},"ipv6":{"slaac":[{"range":"/64"}],"is_public":true}}],"memory_limit":0,"kernel":"linode/latest-64bit","init_rd":null,"root_device":"/dev/sda","run_level":"default","virt_mode":"paravirt"}'
+ body: '{"label":"go-test-conf-84326euukk4c","comments":"","devices":{},"helpers":{"updatedb_disabled":true,"distro":true,"modules_dep":true,"network":false,"devtmpfs_automount":true},"interfaces":[{"purpose":"vpc","subnet_id":766581,"ipv4":{"nat_1_1":"any"},"ipv6":{"slaac":[{"range":"/64"}],"is_public":true}}],"memory_limit":0,"kernel":"linode/latest-64bit","init_rd":null,"root_device":"/dev/sda","run_level":"default","virt_mode":"paravirt"}'
form: {}
headers:
Accept:
@@ -577,18 +653,18 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82362798/configs/85826690
+ url: https://api.linode.com/v4beta/linode/instances/99814497/configs/103266086
method: PUT
response:
- body: '{"id": 85826690, "label": "go-test-conf-o3253z32haor", "helpers": {"updatedb_disabled":
+ body: '{"id": 103266086, "label": "go-test-conf-84326euukk4c", "helpers": {"updatedb_disabled":
true, "distro": true, "modules_dep": true, "network": false, "devtmpfs_automount":
true}, "kernel": "linode/latest-64bit", "comments": "", "memory_limit": 0, "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "root_device": "/dev/sda",
"devices": {"sda": null, "sdb": null, "sdc": null, "sdd": null, "sde": null,
"sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default",
- "virt_mode": "paravirt", "interfaces": [{"id": 6760457, "purpose": "vpc", "primary":
- false, "active": false, "ipam_address": null, "label": null, "vpc_id": 233455,
- "subnet_id": 240938, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "172.238.148.239"},
+ "virt_mode": "paravirt", "interfaces": [{"id": 13357739, "purpose": "vpc", "primary":
+ false, "active": false, "ipam_address": null, "label": null, "vpc_id": 555389,
+ "subnet_id": 766581, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "172.238.140.16"},
"ip_ranges": [], "ipv6": {"slaac": [{"range": "1234::5678/64", "address":
"1234::5678"}], "ranges": [], "is_public": true}}]}'
headers:
@@ -613,7 +689,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:14 GMT
+ - Fri, 26 Jun 2026 09:18:50 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -648,17 +724,16 @@ interactions:
User-Agent:
- linodego/dev https://github.com/linode/linodego
X-Filter:
- - '{"linode_id": 82362798}'
+ - '{"linode_id": 99814497}'
url: https://api.linode.com/v4beta/vpcs/ipv6s?page=1
method: GET
response:
- body: '{"data": [{"address": null, "address_range": null, "vpc_id": 233455, "subnet_id":
- 240938, "region": "no-osl-1", "linode_id": 82362798, "config_id": 85826690,
- "interface_id": 6760457, "nodebalancer_id": null, "database_id": null, "active":
- false, "nat_1_1": "", "gateway": null, "prefix": 64, "subnet_mask": "", "ipv6_range":
- "1234::5678/64", "ipv6_is_public": true, "ipv6_addresses": [{"slaac_address":
- "1234::5678"}]}], "page": 1, "pages": 1, "results":
- 1}'
+ body: '{"data": [{"address": null, "address_range": null, "vpc_id": 555389, "subnet_id":
+ 766581, "region": "no-osl-1", "linode_id": null, "config_id": null, "interface_id":
+ null, "nodebalancer_id": null, "database_id": null, "active": false, "nat_1_1":
+ "", "gateway": null, "prefix": 64, "subnet_mask": "", "ipv6_range": "1234::5678/64",
+ "ipv6_is_public": true, "ipv6_addresses": [{"slaac_address": "1234::5678"}]}],
+ "page": 1, "pages": 1, "results": 1}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -677,13 +752,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "491"
+ - "480"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:14 GMT
+ - Fri, 26 Jun 2026 09:18:50 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -717,7 +792,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82362798
+ url: https://api.linode.com/v4beta/linode/instances/99814497
method: DELETE
response:
body: '{}'
@@ -745,7 +820,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:16 GMT
+ - Fri, 26 Jun 2026 09:18:50 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -778,7 +853,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233455
+ url: https://api.linode.com/v4beta/vpcs/555389
method: DELETE
response:
body: '{}'
@@ -806,7 +881,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:17 GMT
+ - Fri, 26 Jun 2026 09:18:51 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestVPC_ListIPAddresses.yaml b/test/integration/fixtures/TestVPC_ListIPAddresses.yaml
index f17760390..400977f99 100644
--- a/test/integration/fixtures/TestVPC_ListIPAddresses.yaml
+++ b/test/integration/fixtures/TestVPC_ListIPAddresses.yaml
@@ -14,308 +14,382 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
- "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
- "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
- "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
- "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
- "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
- "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
"label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
"label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
"label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
"label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
"label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
"label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
"label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
"label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
- "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
"label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT
- Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []},
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
"label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
"label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
"label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "Custom VPC IPv4 Ranges", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics":
+ ["Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
- "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok",
- "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Disk
- Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}], "page": 1,
- "pages": 1, "results": 32}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -338,7 +412,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:03 GMT
+ - Fri, 26 Jun 2026 09:18:41 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -364,7 +438,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-iad","type":"g6-nanode-1","label":"go-test-ins-wo-disk-30585v2ifzhy","firewall_id":3116261,"booted":false}'
+ body: '{"region":"au-mel","type":"g6-nanode-1","label":"go-test-ins-wo-disk-790atr13rje2","firewall_id":49588879,"booted":false}'
form: {}
headers:
Accept:
@@ -376,18 +450,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82362793, "label": "go-test-ins-wo-disk-30585v2ifzhy", "group":
+ body: '{"id": 99814489, "label": "go-test-ins-wo-disk-790atr13rje2", "group":
"", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["139.144.198.142"], "ipv6": "1234::5678/128",
- "image": null, "region": "us-iad", "site_type": "core", "specs": {"disk": 25600,
+ "type": "g6-nanode-1", "ipv4": ["172.236.33.76"], "ipv6": "1234::5678/128",
+ "image": null, "region": "au-mel", "site_type": "core", "specs": {"disk": 25600,
"memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "10f600d14ca30a2a82e6b307b0f4a5f762251797",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": ["Block Storage Encryption"], "interface_generation":
- "legacy_config"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "e448506301b567bd623455a99f14438b3f47b9a0", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -410,7 +485,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:04 GMT
+ - Fri, 26 Jun 2026 09:18:42 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -435,7 +510,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-conf-19etgd88aq41","devices":{},"interfaces":null}'
+ body: '{"label":"go-test-conf-07dqka4p517l","devices":{},"interfaces":null}'
form: {}
headers:
Accept:
@@ -444,10 +519,10 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82362793/configs
+ url: https://api.linode.com/v4beta/linode/instances/99814489/configs
method: POST
response:
- body: '{"id": 85826686, "label": "go-test-conf-19etgd88aq41", "helpers": {"updatedb_disabled":
+ body: '{"id": 103266080, "label": "go-test-conf-07dqka4p517l", "helpers": {"updatedb_disabled":
true, "distro": true, "modules_dep": true, "network": false, "devtmpfs_automount":
true}, "kernel": "linode/latest-64bit", "comments": "", "memory_limit": 0, "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "root_device": "/dev/sda",
@@ -472,13 +547,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "540"
+ - "541"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:05 GMT
+ - Fri, 26 Jun 2026 09:18:42 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -502,7 +577,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-vpc-1755884585195695000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1755884585196092000","ipv4":"192.168.0.0/25"}]}'
+ body: '{"label":"go-test-vpc-1782465522372140000","region":"au-mel","subnets":[{"label":"linodego-vpc-test-1782465522373136000","ipv4":"192.168.0.0/25"}]}'
form: {}
headers:
Accept:
@@ -514,11 +589,13 @@ interactions:
url: https://api.linode.com/v4beta/vpcs
method: POST
response:
- body: '{"id": 233454, "label": "go-test-vpc-1755884585195695000", "description":
- "", "region": "us-iad", "ipv6": null, "subnets": [{"id": 240937, "label": "linodego-vpc-test-1755884585196092000",
- "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "databases": [], "nodebalancers":
- [], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}], "created":
- "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}'
+ body: '{"id": 555388, "label": "go-test-vpc-1782465522372140000", "description":
+ "", "region": "au-mel", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "172.16.0.0/12"},
+ {"range": "192.168.0.0/17"}], "ipv6": null, "subnets": [{"id": 766580, "label":
+ "linodego-vpc-test-1782465522373136000", "ipv4": "192.168.0.0/25", "ipv6": null,
+ "linodes": [], "databases": [], "nodebalancers": [], "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05"}], "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05"}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -537,13 +614,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "419"
+ - "511"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:05 GMT
+ - Fri, 26 Jun 2026 09:18:42 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -560,14 +637,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "15"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-test-conf-19etgd88aq41","comments":"","devices":{},"helpers":{"updatedb_disabled":true,"distro":true,"modules_dep":true,"network":false,"devtmpfs_automount":true},"interfaces":[{"purpose":"vpc","subnet_id":240937,"ipv4":{"nat_1_1":"any"}}],"memory_limit":0,"kernel":"linode/latest-64bit","init_rd":null,"root_device":"/dev/sda","run_level":"default","virt_mode":"paravirt"}'
+ body: '{"label":"go-test-conf-07dqka4p517l","comments":"","devices":{},"helpers":{"updatedb_disabled":true,"distro":true,"modules_dep":true,"network":false,"devtmpfs_automount":true},"interfaces":[{"purpose":"vpc","subnet_id":766580,"ipv4":{"nat_1_1":"any"}}],"memory_limit":0,"kernel":"linode/latest-64bit","init_rd":null,"root_device":"/dev/sda","run_level":"default","virt_mode":"paravirt"}'
form: {}
headers:
Accept:
@@ -576,18 +653,18 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82362793/configs/85826686
+ url: https://api.linode.com/v4beta/linode/instances/99814489/configs/103266080
method: PUT
response:
- body: '{"id": 85826686, "label": "go-test-conf-19etgd88aq41", "helpers": {"updatedb_disabled":
+ body: '{"id": 103266080, "label": "go-test-conf-07dqka4p517l", "helpers": {"updatedb_disabled":
true, "distro": true, "modules_dep": true, "network": false, "devtmpfs_automount":
true}, "kernel": "linode/latest-64bit", "comments": "", "memory_limit": 0, "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "root_device": "/dev/sda",
"devices": {"sda": null, "sdb": null, "sdc": null, "sdd": null, "sde": null,
"sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default",
- "virt_mode": "paravirt", "interfaces": [{"id": 6760446, "purpose": "vpc", "primary":
- false, "active": false, "ipam_address": null, "label": null, "vpc_id": 233454,
- "subnet_id": 240937, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "139.144.198.142"},
+ "virt_mode": "paravirt", "interfaces": [{"id": 13357732, "purpose": "vpc", "primary":
+ false, "active": false, "ipam_address": null, "label": null, "vpc_id": 555388,
+ "subnet_id": 766580, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "172.236.33.76"},
"ip_ranges": [], "ipv6": null}]}'
headers:
Access-Control-Allow-Credentials:
@@ -613,7 +690,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:06 GMT
+ - Fri, 26 Jun 2026 09:18:43 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -647,15 +724,16 @@ interactions:
User-Agent:
- linodego/dev https://github.com/linode/linodego
X-Filter:
- - '{"linode_id": 82362793}'
- url: https://api.linode.com/v4beta/vpcs/233454/ips?page=1
+ - '{"linode_id": 99814489}'
+ url: https://api.linode.com/v4beta/vpcs/555388/ips?page=1
method: GET
response:
- body: '{"data": [{"address": "192.168.0.2", "address_range": null, "vpc_id": 233454,
- "subnet_id": 240937, "region": "us-iad", "linode_id": 82362793, "config_id":
- 85826686, "interface_id": 6760446, "nodebalancer_id": null, "database_id": null,
- "active": false, "nat_1_1": "139.144.198.142", "gateway": "192.168.0.1", "prefix":
- 25, "subnet_mask": "255.255.255.128"}], "page": 1, "pages": 1, "results": 1}'
+ body: '{"data": [{"address": "192.168.0.2", "address_range": null, "vpc_id": 555388,
+ "subnet_id": 766580, "region": "au-mel", "linode_id": 99814489, "config_id":
+ 103266080, "interface_id": 13357732, "nodebalancer_id": null, "database_id":
+ null, "active": false, "nat_1_1": "172.236.33.76", "gateway": "192.168.0.1",
+ "prefix": 25, "subnet_mask": "255.255.255.128"}], "page": 1, "pages": 1, "results":
+ 1}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -680,7 +758,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:06 GMT
+ - Fri, 26 Jun 2026 09:18:43 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -714,7 +792,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82362793
+ url: https://api.linode.com/v4beta/linode/instances/99814489
method: DELETE
response:
body: '{}'
@@ -742,7 +820,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:08 GMT
+ - Fri, 26 Jun 2026 09:18:44 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -775,7 +853,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233454
+ url: https://api.linode.com/v4beta/vpcs/555388
method: DELETE
response:
body: '{}'
@@ -803,7 +881,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:08 GMT
+ - Fri, 26 Jun 2026 09:18:45 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestVPC_ListIPv6Addresses.yaml b/test/integration/fixtures/TestVPC_ListIPv6Addresses.yaml
index c339fd3eb..5e39165cc 100644
--- a/test/integration/fixtures/TestVPC_ListIPv6Addresses.yaml
+++ b/test/integration/fixtures/TestVPC_ListIPv6Addresses.yaml
@@ -14,308 +14,382 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
- "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
- "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
- "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
- "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
- "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
- "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
"label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
"label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
"label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
"label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
"label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
"label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
"label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
"label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
- "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
"label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT
- Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []},
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
"label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
"label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
"label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "Custom VPC IPv4 Ranges", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics":
+ ["Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
- "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok",
- "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Disk
- Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}], "page": 1,
- "pages": 1, "results": 32}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -338,7 +412,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:17 GMT
+ - Fri, 26 Jun 2026 09:18:51 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -364,7 +438,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"no-osl-1","type":"g6-nanode-1","label":"go-test-ins-wo-disk-j36mn55rt4v6","firewall_id":3116261,"booted":false}'
+ body: '{"region":"no-osl-1","type":"g6-nanode-1","label":"go-test-ins-wo-disk-9dguy4g3069h","firewall_id":49588879,"booted":false}'
form: {}
headers:
Accept:
@@ -376,18 +450,19 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 82362807, "label": "go-test-ins-wo-disk-j36mn55rt4v6", "group":
+ body: '{"id": 99814507, "label": "go-test-ins-wo-disk-9dguy4g3069h", "group":
"", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["172.238.148.240"], "ipv6": "1234::5678/128",
+ "type": "g6-nanode-1", "ipv4": ["172.238.140.16"], "ipv6": "1234::5678/128",
"image": null, "region": "no-osl-1", "site_type": "core", "specs": {"disk":
25600, "memory": 1024, "vcpus": 1, "gpus": 0, "transfer": 1000, "accelerated_devices":
0}, "alerts": {"cpu": 90, "network_in": 10, "network_out": 10, "transfer_quota":
- 80, "io": 10000}, "backups": {"enabled": false, "available": false, "schedule":
- {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm",
- "watchdog_enabled": true, "tags": [], "host_uuid": "4a86e42f448c02ae90c5570d804b8f977a65e455",
- "has_user_data": false, "placement_group": null, "disk_encryption": "enabled",
- "lke_cluster_id": null, "capabilities": ["Block Storage Encryption"], "interface_generation":
- "legacy_config"}'
+ 80, "io": 10000, "system_alerts": [], "user_alerts": []}, "backups": {"enabled":
+ false, "available": false, "schedule": {"day": null, "window": null}, "last_successful":
+ null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid":
+ "2063034925c9525f39cf588a3352d9164d3d1a7a", "has_user_data": false, "placement_group":
+ null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities":
+ ["Block Storage Encryption", "SMTP Enabled", "Maintenance Policy"], "interface_generation":
+ "legacy_config", "maintenance_policy": "linode/migrate", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -410,7 +485,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:18 GMT
+ - Fri, 26 Jun 2026 09:18:52 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -435,7 +510,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-conf-93d7pa1v8n9l","devices":{},"interfaces":null}'
+ body: '{"label":"go-test-conf-fxiu48sp7708","devices":{},"interfaces":null}'
form: {}
headers:
Accept:
@@ -444,10 +519,10 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82362807/configs
+ url: https://api.linode.com/v4beta/linode/instances/99814507/configs
method: POST
response:
- body: '{"id": 85826699, "label": "go-test-conf-93d7pa1v8n9l", "helpers": {"updatedb_disabled":
+ body: '{"id": 103266097, "label": "go-test-conf-fxiu48sp7708", "helpers": {"updatedb_disabled":
true, "distro": true, "modules_dep": true, "network": false, "devtmpfs_automount":
true}, "kernel": "linode/latest-64bit", "comments": "", "memory_limit": 0, "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "root_device": "/dev/sda",
@@ -472,13 +547,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "540"
+ - "541"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:18 GMT
+ - Fri, 26 Jun 2026 09:18:53 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -502,7 +577,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-vpc-1755884598712573000","region":"no-osl-1","ipv6":[{"range":"/52"}],"subnets":[{"label":"linodego-vpc-test-1755884598713047000","ipv4":"192.168.0.0/25","ipv6":[{"range":"/62"}]}]}'
+ body: '{"label":"go-test-vpc-1782465533012288000","region":"no-osl-1","ipv6":[{"range":"/52"}],"subnets":[{"label":"linodego-vpc-test-1782465533012673000","ipv4":"192.168.0.0/25","ipv6":[{"range":"/62"}]}]}'
form: {}
headers:
Accept:
@@ -514,9 +589,10 @@ interactions:
url: https://api.linode.com/v4beta/vpcs
method: POST
response:
- body: '{"id": 233456, "label": "go-test-vpc-1755884598712573000", "description":
- "", "region": "no-osl-1", "ipv6": [{"range": "1234::5678/52"}], "subnets":
- [{"id": 240939, "label": "linodego-vpc-test-1755884598713047000", "ipv4": "192.168.0.0/25",
+ body: '{"id": 555390, "label": "go-test-vpc-1782465533012288000", "description":
+ "", "region": "no-osl-1", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "172.16.0.0/12"},
+ {"range": "192.168.0.0/17"}], "ipv6": [{"range": "1234::5678/52"}], "subnets":
+ [{"id": 766582, "label": "linodego-vpc-test-1782465533012673000", "ipv4": "192.168.0.0/25",
"ipv6": [{"range": "1234::5678/62"}], "linodes": [], "databases": [],
"nodebalancers": [], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}],
"created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}'
@@ -538,13 +614,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "481"
+ - "573"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:22 GMT
+ - Fri, 26 Jun 2026 09:18:55 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -561,14 +637,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "15"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-test-conf-93d7pa1v8n9l","comments":"","devices":{},"helpers":{"updatedb_disabled":true,"distro":true,"modules_dep":true,"network":false,"devtmpfs_automount":true},"interfaces":[{"purpose":"vpc","subnet_id":240939,"ipv4":{"nat_1_1":"any"},"ipv6":{"slaac":[{"range":"/64"}],"is_public":true}}],"memory_limit":0,"kernel":"linode/latest-64bit","init_rd":null,"root_device":"/dev/sda","run_level":"default","virt_mode":"paravirt"}'
+ body: '{"label":"go-test-conf-fxiu48sp7708","comments":"","devices":{},"helpers":{"updatedb_disabled":true,"distro":true,"modules_dep":true,"network":false,"devtmpfs_automount":true},"interfaces":[{"purpose":"vpc","subnet_id":766582,"ipv4":{"nat_1_1":"any"},"ipv6":{"slaac":[{"range":"/64"}],"is_public":true}}],"memory_limit":0,"kernel":"linode/latest-64bit","init_rd":null,"root_device":"/dev/sda","run_level":"default","virt_mode":"paravirt"}'
form: {}
headers:
Accept:
@@ -577,18 +653,18 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82362807/configs/85826699
+ url: https://api.linode.com/v4beta/linode/instances/99814507/configs/103266097
method: PUT
response:
- body: '{"id": 85826699, "label": "go-test-conf-93d7pa1v8n9l", "helpers": {"updatedb_disabled":
+ body: '{"id": 103266097, "label": "go-test-conf-fxiu48sp7708", "helpers": {"updatedb_disabled":
true, "distro": true, "modules_dep": true, "network": false, "devtmpfs_automount":
true}, "kernel": "linode/latest-64bit", "comments": "", "memory_limit": 0, "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "root_device": "/dev/sda",
"devices": {"sda": null, "sdb": null, "sdc": null, "sdd": null, "sde": null,
"sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default",
- "virt_mode": "paravirt", "interfaces": [{"id": 6760470, "purpose": "vpc", "primary":
- false, "active": false, "ipam_address": null, "label": null, "vpc_id": 233456,
- "subnet_id": 240939, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "172.238.148.240"},
+ "virt_mode": "paravirt", "interfaces": [{"id": 13357745, "purpose": "vpc", "primary":
+ false, "active": false, "ipam_address": null, "label": null, "vpc_id": 555390,
+ "subnet_id": 766582, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "172.238.140.16"},
"ip_ranges": [], "ipv6": {"slaac": [{"range": "1234::5678/64", "address":
"1234::5678"}], "ranges": [], "is_public": true}}]}'
headers:
@@ -613,7 +689,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:23 GMT
+ - Fri, 26 Jun 2026 09:18:56 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -647,12 +723,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233456/ipv6s?page=1
+ url: https://api.linode.com/v4beta/vpcs/555390/ipv6s?page=1
method: GET
response:
- body: '{"data": [{"address": null, "address_range": null, "vpc_id": 233456, "subnet_id":
- 240939, "region": "no-osl-1", "linode_id": 82362807, "config_id": 85826699,
- "interface_id": 6760470, "nodebalancer_id": null, "database_id": null, "active":
+ body: '{"data": [{"address": null, "address_range": null, "vpc_id": 555390, "subnet_id":
+ 766582, "region": "no-osl-1", "linode_id": 99814507, "config_id": 103266097,
+ "interface_id": 13357745, "nodebalancer_id": null, "database_id": null, "active":
false, "nat_1_1": "", "gateway": null, "prefix": 64, "subnet_mask": "", "ipv6_range":
"1234::5678/64", "ipv6_is_public": true, "ipv6_addresses": [{"slaac_address":
"1234::5678"}]}], "page": 1, "pages": 1, "results":
@@ -675,13 +751,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "491"
+ - "493"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:23 GMT
+ - Fri, 26 Jun 2026 09:18:56 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -715,7 +791,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/82362807
+ url: https://api.linode.com/v4beta/linode/instances/99814507
method: DELETE
response:
body: '{}'
@@ -743,7 +819,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:25 GMT
+ - Fri, 26 Jun 2026 09:18:57 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -776,7 +852,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233456
+ url: https://api.linode.com/v4beta/vpcs/555390
method: DELETE
response:
body: '{}'
@@ -804,7 +880,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:43:25 GMT
+ - Fri, 26 Jun 2026 09:18:57 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestVPC_Subnet_Create_Invalid_data.yaml b/test/integration/fixtures/TestVPC_Subnet_Create_Invalid_data.yaml
index e6e4e749e..c64dc9ede 100644
--- a/test/integration/fixtures/TestVPC_Subnet_Create_Invalid_data.yaml
+++ b/test/integration/fixtures/TestVPC_Subnet_Create_Invalid_data.yaml
@@ -14,308 +14,382 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
- "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
- "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
- "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
- "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
- "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
- "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
"label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
"label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
"label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
"label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
"label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
"label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
"label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
"label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
- "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
"label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT
- Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []},
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
"label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
"label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
"label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "Custom VPC IPv4 Ranges", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics":
+ ["Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
- "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok",
- "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Disk
- Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}], "page": 1,
- "pages": 1, "results": 32}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -338,7 +412,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:44 GMT
+ - Fri, 26 Jun 2026 09:35:00 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -364,7 +438,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-vpc-1755884564685565000","region":"us-iad"}'
+ body: '{"label":"go-test-vpc-1782466500029060000","region":"au-mel"}'
form: {}
headers:
Accept:
@@ -376,8 +450,9 @@ interactions:
url: https://api.linode.com/v4beta/vpcs
method: POST
response:
- body: '{"id": 233446, "label": "go-test-vpc-1755884564685565000", "description":
- "", "region": "us-iad", "ipv6": null, "subnets": [], "created": "2018-01-02T03:04:05",
+ body: '{"id": 555414, "label": "go-test-vpc-1782466500029060000", "description":
+ "", "region": "au-mel", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "172.16.0.0/12"},
+ {"range": "192.168.0.0/17"}], "ipv6": null, "subnets": [], "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05"}'
headers:
Access-Control-Allow-Credentials:
@@ -397,13 +472,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "194"
+ - "286"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:45 GMT
+ - Fri, 26 Jun 2026 09:35:00 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -420,14 +495,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "15"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"linodego-vpc-test_invalid_label1755884565239785000","ipv4":"192.168.0.0/25"}'
+ body: '{"label":"linodego-vpc-test_invalid_label!1782466500900310000","ipv4":"192.168.0.0/25"}'
form: {}
headers:
Accept:
@@ -436,11 +511,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233446/subnets
+ url: https://api.linode.com/v4beta/vpcs/555414/subnets
method: POST
response:
- body: '{"errors": [{"reason": "Label must include only ASCII letters, numbers,
- and dashes", "field": "label"}]}'
+ body: '{"errors": [{"reason": "Must only use ASCII letters, numbers, and underscores",
+ "field": "label"}]}'
headers:
Access-Control-Allow-Headers:
- Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
@@ -453,11 +528,11 @@ interactions:
Cache-Control:
- max-age=0, no-cache, no-store
Content-Length:
- - "104"
+ - "99"
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:45 GMT
+ - Fri, 26 Jun 2026 09:35:01 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -483,7 +558,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233446
+ url: https://api.linode.com/v4beta/vpcs/555414
method: DELETE
response:
body: '{}'
@@ -511,7 +586,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:45 GMT
+ - Fri, 26 Jun 2026 09:35:01 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestVPC_Subnet_Update_Invalid_Label.yaml b/test/integration/fixtures/TestVPC_Subnet_Update_Invalid_Label.yaml
index d8462112c..6d09687ff 100644
--- a/test/integration/fixtures/TestVPC_Subnet_Update_Invalid_Label.yaml
+++ b/test/integration/fixtures/TestVPC_Subnet_Update_Invalid_Label.yaml
@@ -14,308 +14,382 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
- "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
- "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
- "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
- "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
- "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
- "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
"label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
"label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
"label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
"label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
"label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
"label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
"label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
"label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
- "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
"label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT
- Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []},
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
"label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
"label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
"label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "Custom VPC IPv4 Ranges", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics":
+ ["Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
- "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok",
- "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Disk
- Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}], "page": 1,
- "pages": 1, "results": 32}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -338,7 +412,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:46 GMT
+ - Fri, 26 Jun 2026 09:36:52 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -364,7 +438,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-vpc-1755884565950947000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1755884566228307000","ipv4":"192.168.0.0/25"}]}'
+ body: '{"label":"go-test-vpc-1782466612545617000","region":"au-mel","subnets":[{"label":"linodego-vpc-test-1782466612962415000","ipv4":"192.168.0.0/25"}]}'
form: {}
headers:
Accept:
@@ -376,11 +450,13 @@ interactions:
url: https://api.linode.com/v4beta/vpcs
method: POST
response:
- body: '{"id": 233447, "label": "go-test-vpc-1755884565950947000", "description":
- "", "region": "us-iad", "ipv6": null, "subnets": [{"id": 240934, "label": "linodego-vpc-test-1755884566228307000",
- "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "databases": [], "nodebalancers":
- [], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}], "created":
- "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}'
+ body: '{"id": 555418, "label": "go-test-vpc-1782466612545617000", "description":
+ "", "region": "au-mel", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "172.16.0.0/12"},
+ {"range": "192.168.0.0/17"}], "ipv6": null, "subnets": [{"id": 766615, "label":
+ "linodego-vpc-test-1782466612962415000", "ipv4": "192.168.0.0/25", "ipv6": null,
+ "linodes": [], "databases": [], "nodebalancers": [], "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05"}], "created": "2018-01-02T03:04:05", "updated":
+ "2018-01-02T03:04:05"}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -399,13 +475,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "419"
+ - "511"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:46 GMT
+ - Fri, 26 Jun 2026 09:36:53 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -422,14 +498,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "15"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"invalid_label"}'
+ body: '{"label":"invalid_label!"}'
form: {}
headers:
Accept:
@@ -438,11 +514,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233447/subnets/240934
+ url: https://api.linode.com/v4beta/vpcs/555418/subnets/766615
method: PUT
response:
- body: '{"errors": [{"reason": "Label must include only ASCII letters, numbers,
- and dashes", "field": "label"}]}'
+ body: '{"errors": [{"reason": "Must only use ASCII letters, numbers, and underscores",
+ "field": "label"}]}'
headers:
Access-Control-Allow-Headers:
- Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
@@ -455,11 +531,11 @@ interactions:
Cache-Control:
- max-age=0, no-cache, no-store
Content-Length:
- - "104"
+ - "99"
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:46 GMT
+ - Fri, 26 Jun 2026 09:36:53 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -485,7 +561,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233447
+ url: https://api.linode.com/v4beta/vpcs/555418
method: DELETE
response:
body: '{}'
@@ -513,7 +589,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:47 GMT
+ - Fri, 26 Jun 2026 09:36:54 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestVPC_Update.yaml b/test/integration/fixtures/TestVPC_Update.yaml
index 29d0f8ed9..aa343419d 100644
--- a/test/integration/fixtures/TestVPC_Update.yaml
+++ b/test/integration/fixtures/TestVPC_Update.yaml
@@ -14,308 +14,382 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
- "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
- "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
- "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
- "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
- "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
- "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
"label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
"label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
"label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
"label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
"label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
"label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
"label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
"label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
- "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
"label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT
- Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []},
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
"label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
"label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
"label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "Custom VPC IPv4 Ranges", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics":
+ ["Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
- "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok",
- "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Disk
- Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}], "page": 1,
- "pages": 1, "results": 32}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -338,7 +412,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:54 GMT
+ - Fri, 26 Jun 2026 09:42:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -364,7 +438,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-vpc-1755884574347685000","region":"us-iad"}'
+ body: '{"label":"go-test-vpc-1782466942701932000","region":"au-mel"}'
form: {}
headers:
Accept:
@@ -376,8 +450,9 @@ interactions:
url: https://api.linode.com/v4beta/vpcs
method: POST
response:
- body: '{"id": 233450, "label": "go-test-vpc-1755884574347685000", "description":
- "", "region": "us-iad", "ipv6": null, "subnets": [], "created": "2018-01-02T03:04:05",
+ body: '{"id": 555516, "label": "go-test-vpc-1782466942701932000", "description":
+ "", "region": "au-mel", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "172.16.0.0/12"},
+ {"range": "192.168.0.0/17"}], "ipv6": null, "subnets": [], "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05"}'
headers:
Access-Control-Allow-Credentials:
@@ -397,13 +472,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "194"
+ - "286"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:54 GMT
+ - Fri, 26 Jun 2026 09:42:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -420,7 +495,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "15"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -436,11 +511,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233450
+ url: https://api.linode.com/v4beta/vpcs/555516
method: PUT
response:
- body: '{"id": 233450, "label": "updated-label", "description": "updated description",
- "region": "us-iad", "ipv6": null, "subnets": [], "created": "2018-01-02T03:04:05",
+ body: '{"id": 555516, "label": "updated-label", "description": "updated description",
+ "region": "au-mel", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "172.16.0.0/12"},
+ {"range": "192.168.0.0/17"}], "ipv6": null, "subnets": [], "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05"}'
headers:
Access-Control-Allow-Credentials:
@@ -460,13 +536,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "195"
+ - "287"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:55 GMT
+ - Fri, 26 Jun 2026 09:42:23 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -483,7 +559,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "20"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -499,7 +575,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233450
+ url: https://api.linode.com/v4beta/vpcs/555516
method: DELETE
response:
body: '{}'
@@ -527,7 +603,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:55 GMT
+ - Fri, 26 Jun 2026 09:42:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestVPC_Update_Invalid.yaml b/test/integration/fixtures/TestVPC_Update_Invalid.yaml
index 96d537730..7c1adaaeb 100644
--- a/test/integration/fixtures/TestVPC_Update_Invalid.yaml
+++ b/test/integration/fixtures/TestVPC_Update_Invalid.yaml
@@ -14,308 +14,382 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed
- Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
- "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
- "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
- "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
- "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
- "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
- "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
- "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
- "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
"label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
"label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
"label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
"label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
"label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
- Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
"label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
"label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
"label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
- "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "NETINT Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
"label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
"label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT
- Quadra T1U", "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []},
- "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
"label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts", "Linode Interfaces"], "monitors": {"alerts":
- ["Managed Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
"label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
- Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Linode
- Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok", "resolvers":
- {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
"label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans", "VPCs", "Managed
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "Custom VPC IPv4 Ranges", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics":
+ ["Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
- "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
- "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"], "metrics":
- ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg": 5}, "site_type":
- "core"}, {"id": "us-southeast", "label": "Atlanta, GA", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
"Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
- Databases"], "metrics": ["Managed Databases"]}, "status": "ok", "resolvers":
- {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
- "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts", "Linode Interfaces"],
- "monitors": {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]},
- "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
- "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Linode Interfaces"], "monitors": {"alerts": [], "metrics": []}, "status": "ok",
- "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
- 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
- 5}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country":
- "sg", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
- "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": [], "metrics":
- []}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Disk
- Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
"Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
- Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases"],
- "metrics": ["Managed Databases"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
- "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
- {"alerts": ["Managed Databases"], "metrics": ["Managed Databases"]}, "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}], "page": 1,
- "pages": 1, "results": 32}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -338,7 +412,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:57 GMT
+ - Fri, 26 Jun 2026 09:42:24 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -364,7 +438,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"go-test-vpc-1755884577111855000","region":"us-iad"}'
+ body: '{"label":"go-test-vpc-1782466944128612000","region":"au-mel"}'
form: {}
headers:
Accept:
@@ -376,8 +450,9 @@ interactions:
url: https://api.linode.com/v4beta/vpcs
method: POST
response:
- body: '{"id": 233452, "label": "go-test-vpc-1755884577111855000", "description":
- "", "region": "us-iad", "ipv6": null, "subnets": [], "created": "2018-01-02T03:04:05",
+ body: '{"id": 555518, "label": "go-test-vpc-1782466944128612000", "description":
+ "", "region": "au-mel", "ipv4": [{"range": "10.0.0.0/8"}, {"range": "172.16.0.0/12"},
+ {"range": "192.168.0.0/17"}], "ipv6": null, "subnets": [], "created": "2018-01-02T03:04:05",
"updated": "2018-01-02T03:04:05"}'
headers:
Access-Control-Allow-Credentials:
@@ -397,13 +472,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "194"
+ - "286"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:57 GMT
+ - Fri, 26 Jun 2026 09:42:25 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -420,14 +495,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "15"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"updated_invalid_label","description":"updated description"}'
+ body: '{"label":"updated-invalid_label!","description":"updated description"}'
form: {}
headers:
Accept:
@@ -436,11 +511,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233452
+ url: https://api.linode.com/v4beta/vpcs/555518
method: PUT
response:
- body: '{"errors": [{"reason": "Label must include only ASCII letters, numbers,
- and dashes", "field": "label"}]}'
+ body: '{"errors": [{"reason": "Must only use ASCII letters, numbers, and underscores",
+ "field": "label"}]}'
headers:
Access-Control-Allow-Headers:
- Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
@@ -453,11 +528,11 @@ interactions:
Cache-Control:
- max-age=0, no-cache, no-store
Content-Length:
- - "104"
+ - "99"
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:58 GMT
+ - Fri, 26 Jun 2026 09:42:25 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -469,7 +544,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1840"
+ - "20"
status: 400 Bad Request
code: 400
duration: ""
@@ -483,7 +558,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/vpcs/233452
+ url: https://api.linode.com/v4beta/vpcs/555518
method: DELETE
response:
body: '{}'
@@ -511,7 +586,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Fri, 22 Aug 2025 17:42:58 GMT
+ - Fri, 26 Jun 2026 09:42:26 GMT
Pragma:
- no-cache
Strict-Transport-Security:
diff --git a/test/integration/fixtures/TestVolume_Create.yaml b/test/integration/fixtures/TestVolume_Create.yaml
index d71e7db1c..bab7fe181 100644
--- a/test/integration/fixtures/TestVolume_Create.yaml
+++ b/test/integration/fixtures/TestVolume_Create.yaml
@@ -14,265 +14,360 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata"], "status": "ok", "resolvers": {"ipv4": "172.105.34.5, 172.105.35.5,
- 172.105.36.5, 172.105.37.5, 172.105.38.5, 172.105.39.5, 172.105.40.5, 172.105.41.5,
- 172.105.42.5, 172.105.43.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "ca-central", "label": "Toronto, CA", "country": "ca", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata"],
- "status": "ok", "resolvers": {"ipv4": "172.105.0.5, 172.105.3.5, 172.105.4.5,
- 172.105.5.5, 172.105.6.5, 172.105.7.5, 172.105.8.5, 172.105.9.5, 172.105.10.5,
- 172.105.11.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country": "au", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata"],
- "status": "ok", "resolvers": {"ipv4": "172.105.166.5, 172.105.169.5, 172.105.168.5,
- 172.105.172.5, 172.105.162.5, 172.105.170.5, 172.105.167.5, 172.105.171.5, 172.105.181.5,
- 172.105.161.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-iad", "label": "Washington, DC", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "139.144.192.62, 139.144.192.60, 139.144.192.61,
- 139.144.192.53, 139.144.192.54, 139.144.192.67, 139.144.192.69, 139.144.192.66,
- 139.144.192.52, 139.144.192.68", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-ord", "label": "Chicago, IL", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU
- Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17, 172.232.0.16, 172.232.0.21, 172.232.0.13, 172.232.0.22,
- 172.232.0.9, 172.232.0.19, 172.232.0.20, 172.232.0.15, 172.232.0.18", "ipv6":
- "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fr-par", "label":
- "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans"], "status":
- "ok", "resolvers": {"ipv4": "172.232.32.21, 172.232.32.23, 172.232.32.17, 172.232.32.18,
- 172.232.32.16, 172.232.32.22, 172.232.32.20, 172.232.32.14, 172.232.32.11, 172.232.32.12",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-sea", "label":
- "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.232.160.19, 172.232.160.21, 172.232.160.17, 172.232.160.15, 172.232.160.18,
- 172.232.160.8, 172.232.160.12, 172.232.160.11, 172.232.160.14, 172.232.160.16",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "br-gru", "label":
- "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.233.0.4, 172.233.0.9, 172.233.0.7, 172.233.0.12, 172.233.0.5, 172.233.0.13,
- 172.233.0.10, 172.233.0.6, 172.233.0.8, 172.233.0.11", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country":
- "nl", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.233.33.36, 172.233.33.38,
- 172.233.33.35, 172.233.33.39, 172.233.33.34, 172.233.33.33, 172.233.33.31, 172.233.33.30,
- 172.233.33.37, 172.233.33.32", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country": "se", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "172.232.128.24, 172.232.128.26, 172.232.128.20,
- 172.232.128.22, 172.232.128.25, 172.232.128.19, 172.232.128.23, 172.232.128.18,
- 172.232.128.21, 172.232.128.27", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "es-mad", "label": "Madrid, ES", "country": "es", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok",
- "resolvers": {"ipv4": "172.233.111.6, 172.233.111.17, 172.233.111.21, 172.233.111.25,
- 172.233.111.19, 172.233.111.12, 172.233.111.26, 172.233.111.16, 172.233.111.18,
- 172.233.111.9", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "in-maa", "label": "Chennai, IN", "country": "in", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok",
- "resolvers": {"ipv4": "172.232.96.17, 172.232.96.26, 172.232.96.19, 172.232.96.20,
- 172.232.96.25, 172.232.96.21, 172.232.96.18, 172.232.96.22, 172.232.96.23, 172.232.96.24",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "jp-osa", "label":
- "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44, 172.233.64.43, 172.233.64.37, 172.233.64.40, 172.233.64.46,
- 172.233.64.41, 172.233.64.39, 172.233.64.42, 172.233.64.45, 172.233.64.38",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "it-mil", "label":
- "Milan, IT", "country": "it", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.232.192.19, 172.232.192.18, 172.232.192.16, 172.232.192.20, 172.232.192.24,
- 172.232.192.21, 172.232.192.22, 172.232.192.17, 172.232.192.15, 172.232.192.23",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-mia", "label":
- "Miami, FL", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34, 172.233.160.27, 172.233.160.30, 172.233.160.29, 172.233.160.32,
- 172.233.160.28, 172.233.160.33, 172.233.160.26, 172.233.160.25, 172.233.160.31",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "id-cgk", "label":
- "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.232.224.23, 172.232.224.32, 172.232.224.26, 172.232.224.27, 172.232.224.21,
- 172.232.224.24, 172.232.224.22, 172.232.224.20, 172.232.224.31, 172.232.224.28",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-lax", "label":
- "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.233.128.45, 172.233.128.38, 172.233.128.53, 172.233.128.37, 172.233.128.34,
- 172.233.128.36, 172.233.128.33, 172.233.128.39, 172.233.128.43, 172.233.128.44",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "gb-lon", "label":
- "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.236.0.46, 172.236.0.50,
- 172.236.0.47, 172.236.0.53, 172.236.0.52, 172.236.0.45, 172.236.0.49, 172.236.0.51,
- 172.236.0.54, 172.236.0.48", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23, 172.236.32.35, 172.236.32.30, 172.236.32.28, 172.236.32.32,
- 172.236.32.33, 172.236.32.27, 172.236.32.37, 172.236.32.29, 172.236.32.34",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5, 72.14.188.5, 173.255.199.5, 66.228.53.5,
- 96.126.122.5, 96.126.124.5, 96.126.127.5, 198.58.107.5, 198.58.111.5, 23.239.24.5",
+ body: '{"data": [{"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
+ ["Linodes", "Block Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "au-mel",
+ "label": "Melbourne, AU", "country": "au", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "NETINT Quadra
+ T1U", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Linodes", "Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
+ "Placement Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5,
+ 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20",
"ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-west", "label": "Fremont, CA", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5,
- 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5,
- 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label":
- "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "74.207.231.5, 173.230.128.5,
- 173.230.129.5, 173.230.136.5, 173.230.140.5, 66.228.59.5, 66.228.62.5, 50.116.35.5,
- 50.116.41.5, 23.239.18.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label":
- "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "66.228.42.5, 96.126.106.5, 50.116.53.5,
- 50.116.58.5, 50.116.61.5, 50.116.62.5, 66.175.211.5, 97.107.133.4, 207.192.69.4,
- 207.192.69.5", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-west", "label": "London, UK", "country":
- "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
+ "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
+ "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
"Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4":
- "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5,
- 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-south",
- "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "139.162.11.5,
- 139.162.13.5, 139.162.14.5, 139.162.15.5, 139.162.16.5, 139.162.21.5, 139.162.27.5,
- 103.3.60.18, 103.3.60.19, 103.3.60.20", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata"], "status": "ok", "resolvers": {"ipv4": "139.162.130.5, 139.162.131.5,
- 139.162.132.5, 139.162.133.5, 139.162.134.5, 139.162.135.5, 139.162.136.5, 139.162.137.5,
- 139.162.138.5, 139.162.139.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast", "label":
- "Tokyo, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata"], "status": "ok", "resolvers": {"ipv4": "139.162.66.5,
- 139.162.67.5, 139.162.68.5, 139.162.69.5, 139.162.70.5, 139.162.71.5, 139.162.72.5,
- 139.162.73.5, 139.162.74.5, 139.162.75.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages":
- 1, "results": 27}'
+ Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance Policy",
+ "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers"],
+ "metrics": ["Managed Databases", "NodeBalancers"]}, "status": "ok", "resolvers":
+ {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5,
+ 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6":
+ "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 33}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -295,7 +390,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 20:00:29 GMT
+ - Wed, 20 May 2026 11:37:12 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -314,14 +409,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-vol-test-create","region":"ap-west","tags":null}'
+ body: '{"label":"go-vol-test-create-171032","region":"gb-lon","tags":null}'
form: {}
headers:
Accept:
@@ -333,11 +428,11 @@ interactions:
url: https://api.linode.com/v4beta/volumes
method: POST
response:
- body: '{"id": 4979054, "status": "creating", "label": "go-vol-test-create", "created":
- "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
- "/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-create", "size": 20, "linode_id":
- null, "linode_label": null, "region": "ap-west", "tags": [], "hardware_type":
- "nvme"}'
+ body: '{"id": 15779505, "status": "creating", "label": "go-vol-test-create-171032",
+ "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-create-171032", "size": 20,
+ "linode_id": null, "linode_label": null, "io_ready": false, "region": "gb-lon",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -356,13 +451,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "324"
+ - "395"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 20:00:29 GMT
+ - Wed, 20 May 2026 11:37:12 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -395,7 +490,73 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes/4979054
+ url: https://api.linode.com/v4beta/volumes/15779505
+ method: GET
+ response:
+ body: '{"id": 15779505, "status": "active", "label": "go-vol-test-create-171032",
+ "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-create-171032", "size": 20,
+ "linode_id": null, "linode_label": null, "io_ready": false, "region": "gb-lon",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "393"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Wed, 20 May 2026 11:37:27 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - volumes:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/volumes/15779505
method: DELETE
response:
body: '{}'
@@ -423,7 +584,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 20:00:34 GMT
+ - Wed, 20 May 2026 11:37:33 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -440,7 +601,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestVolume_Create_withEncryption.yaml b/test/integration/fixtures/TestVolume_Create_withEncryption.yaml
index a54f95e6c..a4ab5d3f4 100644
--- a/test/integration/fixtures/TestVolume_Create_withEncryption.yaml
+++ b/test/integration/fixtures/TestVolume_Create_withEncryption.yaml
@@ -14,279 +14,381 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.105.34.5, 172.105.35.5, 172.105.36.5, 172.105.37.5, 172.105.38.5,
- 172.105.39.5, 172.105.40.5, 172.105.41.5, 172.105.42.5, 172.105.43.5", "ipv6":
- "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "172.105.0.5, 172.105.3.5, 172.105.4.5,
- 172.105.5.5, 172.105.6.5, 172.105.7.5, 172.105.8.5, 172.105.9.5, 172.105.10.5,
- 172.105.11.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country": "au", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.105.166.5, 172.105.169.5,
- 172.105.168.5, 172.105.172.5, 172.105.162.5, 172.105.170.5, 172.105.167.5, 172.105.171.5,
- 172.105.181.5, 172.105.161.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-iad", "label": "Washington, DC", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group"], "status": "ok",
- "resolvers": {"ipv4": "139.144.192.62, 139.144.192.60, 139.144.192.61, 139.144.192.53,
- 139.144.192.54, 139.144.192.67, 139.144.192.69, 139.144.192.66, 139.144.192.52,
- 139.144.192.68", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-ord", "label": "Chicago, IL", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
- "Managed Databases", "Metadata", "Premium Plans", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "172.232.0.17, 172.232.0.16, 172.232.0.21, 172.232.0.13,
- 172.232.0.22, 172.232.0.9, 172.232.0.19, 172.232.0.20, 172.232.0.15, 172.232.0.18",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fr-par", "label":
- "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.32.21,
- 172.232.32.23, 172.232.32.17, 172.232.32.18, 172.232.32.16, 172.232.32.22, 172.232.32.20,
- 172.232.32.14, 172.232.32.11, 172.232.32.12", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-sea", "label": "Seattle, WA", "country":
- "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "172.232.160.19, 172.232.160.21, 172.232.160.17,
- 172.232.160.15, 172.232.160.18, 172.232.160.8, 172.232.160.12, 172.232.160.11,
- 172.232.160.14, 172.232.160.16", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "br-gru", "label": "Sao Paulo, BR", "country": "br", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "172.233.0.4, 172.233.0.9, 172.233.0.7,
- 172.233.0.12, 172.233.0.5, 172.233.0.13, 172.233.0.10, 172.233.0.6, 172.233.0.8,
- 172.233.0.11", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country": "nl", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.33.36,
- 172.233.33.38, 172.233.33.35, 172.233.33.39, 172.233.33.34, 172.233.33.33, 172.233.33.31,
- 172.233.33.30, 172.233.33.37, 172.233.33.32", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country":
- "se", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.128.24,
- 172.232.128.26, 172.232.128.20, 172.232.128.22, 172.232.128.25, 172.232.128.19,
- 172.232.128.23, 172.232.128.18, 172.232.128.21, 172.232.128.27", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "es-mad", "label": "Madrid, ES", "country":
- "es", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.111.6,
- 172.233.111.17, 172.233.111.21, 172.233.111.25, 172.233.111.19, 172.233.111.12,
- 172.233.111.26, 172.233.111.16, 172.233.111.18, 172.233.111.9", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-maa", "label": "Chennai, IN", "country":
- "in", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17, 172.232.96.26, 172.232.96.19, 172.232.96.20, 172.232.96.25,
- 172.232.96.21, 172.232.96.18, 172.232.96.22, 172.232.96.23, 172.232.96.24",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "jp-osa", "label":
- "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.64.44, 172.233.64.43,
- 172.233.64.37, 172.233.64.40, 172.233.64.46, 172.233.64.41, 172.233.64.39, 172.233.64.42,
- 172.233.64.45, 172.233.64.38", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "it-mil", "label": "Milan, IT", "country": "it", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.192.19,
- 172.232.192.18, 172.232.192.16, 172.232.192.20, 172.232.192.24, 172.232.192.21,
- 172.232.192.22, 172.232.192.17, 172.232.192.15, 172.232.192.23", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-mia", "label": "Miami, FL", "country":
- "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.160.34,
- 172.233.160.27, 172.233.160.30, 172.233.160.29, 172.233.160.32, 172.233.160.28,
- 172.233.160.33, 172.233.160.26, 172.233.160.25, 172.233.160.31", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "id-cgk", "label": "Jakarta, ID", "country":
- "id", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.224.23,
- 172.232.224.32, 172.232.224.26, 172.232.224.27, 172.232.224.21, 172.232.224.24,
- 172.232.224.22, 172.232.224.20, 172.232.224.31, 172.232.224.28", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-lax", "label": "Los Angeles, CA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
"Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45, 172.233.128.38, 172.233.128.53,
- 172.233.128.37, 172.233.128.34, 172.233.128.36, 172.233.128.33, 172.233.128.39,
- 172.233.128.43, 172.233.128.44", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "au-mel", "label": "Melbourne, AU", "country":
- "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-bom-2", "label": "Mumbai 2, IN", "country":
- "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
+ "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
"status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "de-fra-2", "label": "Frankfurt 2, DE", "country":
- "de", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
+ "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "sg-sin-2", "label": "Singapore 2, SG", "country":
- "sg", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX", "country":
- "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "72.14.179.5, 72.14.188.5, 173.255.199.5, 66.228.53.5, 96.126.122.5,
- 96.126.124.5, 96.126.127.5, 198.58.107.5, 198.58.111.5, 23.239.24.5", "ipv6":
- "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-west", "label": "Fremont, CA", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5,
- 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5,
- 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": null,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label":
- "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "74.207.231.5, 173.230.128.5,
- 173.230.129.5, 173.230.136.5, 173.230.140.5, 66.228.59.5, 66.228.62.5, 50.116.35.5,
- 50.116.41.5, 23.239.18.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": null,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label":
- "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "66.228.42.5, 96.126.106.5, 50.116.53.5,
- 50.116.58.5, 50.116.61.5, 50.116.62.5, 66.175.211.5, 97.107.133.4, 207.192.69.4,
- 207.192.69.5", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-west", "label": "London, UK", "country":
- "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4":
- "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5,
- 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-south",
- "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "139.162.11.5,
- 139.162.13.5, 139.162.14.5, 139.162.15.5, 139.162.16.5, 139.162.21.5, 139.162.27.5,
- 103.3.60.18, 103.3.60.19, 103.3.60.20", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country":
- "jp", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 30}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -309,7 +411,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 10 Oct 2024 18:22:16 GMT
+ - Thu, 28 May 2026 13:30:32 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -328,14 +430,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-vol-test-create-encryption","region":"us-lax","tags":null,"encryption":"enabled"}'
+ body: '{"label":"go-vol-test-create-encryption","region":"au-mel","tags":null,"encryption":"enabled"}'
form: {}
headers:
Accept:
@@ -347,11 +449,11 @@ interactions:
url: https://api.linode.com/v4beta/volumes
method: POST
response:
- body: '{"id": 6578947, "status": "creating", "label": "go-vol-test-create-encryption",
+ body: '{"id": 15923678, "status": "creating", "label": "go-vol-test-create-encryption",
"created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
"/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-create-encryption", "size":
- 20, "linode_id": null, "linode_label": null, "region": "us-lax", "tags": [],
- "hardware_type": "nvme", "encryption": "enabled"}'
+ 20, "linode_id": null, "linode_label": null, "io_ready": false, "region": "au-mel",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -370,13 +472,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "370"
+ - "403"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 10 Oct 2024 18:22:16 GMT
+ - Thu, 28 May 2026 13:30:32 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -409,7 +511,73 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes/6578947
+ url: https://api.linode.com/v4beta/volumes/15923678
+ method: GET
+ response:
+ body: '{"id": 15923678, "status": "active", "label": "go-vol-test-create-encryption",
+ "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-create-encryption", "size":
+ 20, "linode_id": null, "linode_label": null, "io_ready": false, "region": "au-mel",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "401"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 28 May 2026 13:30:48 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - volumes:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/volumes/15923678
method: DELETE
response:
body: '{}'
@@ -437,7 +605,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 10 Oct 2024 18:22:22 GMT
+ - Thu, 28 May 2026 13:30:53 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -454,7 +622,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestVolume_Get.yaml b/test/integration/fixtures/TestVolume_Get.yaml
index e8bb7e864..e7ef65f45 100644
--- a/test/integration/fixtures/TestVolume_Get.yaml
+++ b/test/integration/fixtures/TestVolume_Get.yaml
@@ -14,265 +14,381 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata"], "status": "ok", "resolvers": {"ipv4": "172.105.34.5, 172.105.35.5,
- 172.105.36.5, 172.105.37.5, 172.105.38.5, 172.105.39.5, 172.105.40.5, 172.105.41.5,
- 172.105.42.5, 172.105.43.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "ca-central", "label": "Toronto, CA", "country": "ca", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata"],
- "status": "ok", "resolvers": {"ipv4": "172.105.0.5, 172.105.3.5, 172.105.4.5,
- 172.105.5.5, 172.105.6.5, 172.105.7.5, 172.105.8.5, 172.105.9.5, 172.105.10.5,
- 172.105.11.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country": "au", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata"],
- "status": "ok", "resolvers": {"ipv4": "172.105.166.5, 172.105.169.5, 172.105.168.5,
- 172.105.172.5, 172.105.162.5, 172.105.170.5, 172.105.167.5, 172.105.171.5, 172.105.181.5,
- 172.105.161.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-iad", "label": "Washington, DC", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "139.144.192.62, 139.144.192.60, 139.144.192.61,
- 139.144.192.53, 139.144.192.54, 139.144.192.67, 139.144.192.69, 139.144.192.66,
- 139.144.192.52, 139.144.192.68", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-ord", "label": "Chicago, IL", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU
- Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17, 172.232.0.16, 172.232.0.21, 172.232.0.13, 172.232.0.22,
- 172.232.0.9, 172.232.0.19, 172.232.0.20, 172.232.0.15, 172.232.0.18", "ipv6":
- "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fr-par", "label":
- "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans"], "status":
- "ok", "resolvers": {"ipv4": "172.232.32.21, 172.232.32.23, 172.232.32.17, 172.232.32.18,
- 172.232.32.16, 172.232.32.22, 172.232.32.20, 172.232.32.14, 172.232.32.11, 172.232.32.12",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-sea", "label":
- "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
+ "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
+ "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.232.160.19, 172.232.160.21, 172.232.160.17, 172.232.160.15, 172.232.160.18,
- 172.232.160.8, 172.232.160.12, 172.232.160.11, 172.232.160.14, 172.232.160.16",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "br-gru", "label":
- "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.233.0.4, 172.233.0.9, 172.233.0.7, 172.233.0.12, 172.233.0.5, 172.233.0.13,
- 172.233.0.10, 172.233.0.6, 172.233.0.8, 172.233.0.11", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country":
- "nl", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.233.33.36, 172.233.33.38,
- 172.233.33.35, 172.233.33.39, 172.233.33.34, 172.233.33.33, 172.233.33.31, 172.233.33.30,
- 172.233.33.37, 172.233.33.32", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country": "se", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "172.232.128.24, 172.232.128.26, 172.232.128.20,
- 172.232.128.22, 172.232.128.25, 172.232.128.19, 172.232.128.23, 172.232.128.18,
- 172.232.128.21, 172.232.128.27", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "es-mad", "label": "Madrid, ES", "country": "es", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok",
- "resolvers": {"ipv4": "172.233.111.6, 172.233.111.17, 172.233.111.21, 172.233.111.25,
- 172.233.111.19, 172.233.111.12, 172.233.111.26, 172.233.111.16, 172.233.111.18,
- 172.233.111.9", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "in-maa", "label": "Chennai, IN", "country": "in", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok",
- "resolvers": {"ipv4": "172.232.96.17, 172.232.96.26, 172.232.96.19, 172.232.96.20,
- 172.232.96.25, 172.232.96.21, 172.232.96.18, 172.232.96.22, 172.232.96.23, 172.232.96.24",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "jp-osa", "label":
- "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44, 172.233.64.43, 172.233.64.37, 172.233.64.40, 172.233.64.46,
- 172.233.64.41, 172.233.64.39, 172.233.64.42, 172.233.64.45, 172.233.64.38",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "it-mil", "label":
- "Milan, IT", "country": "it", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.232.192.19, 172.232.192.18, 172.232.192.16, 172.232.192.20, 172.232.192.24,
- 172.232.192.21, 172.232.192.22, 172.232.192.17, 172.232.192.15, 172.232.192.23",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-mia", "label":
- "Miami, FL", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34, 172.233.160.27, 172.233.160.30, 172.233.160.29, 172.233.160.32,
- 172.233.160.28, 172.233.160.33, 172.233.160.26, 172.233.160.25, 172.233.160.31",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "id-cgk", "label":
- "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.232.224.23, 172.232.224.32, 172.232.224.26, 172.232.224.27, 172.232.224.21,
- 172.232.224.24, 172.232.224.22, 172.232.224.20, 172.232.224.31, 172.232.224.28",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-lax", "label":
- "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.233.128.45, 172.233.128.38, 172.233.128.53, 172.233.128.37, 172.233.128.34,
- 172.233.128.36, 172.233.128.33, 172.233.128.39, 172.233.128.43, 172.233.128.44",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "gb-lon", "label":
- "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.236.0.46, 172.236.0.50,
- 172.236.0.47, 172.236.0.53, 172.236.0.52, 172.236.0.45, 172.236.0.49, 172.236.0.51,
- 172.236.0.54, 172.236.0.48", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23, 172.236.32.35, 172.236.32.30, 172.236.32.28, 172.236.32.32,
- 172.236.32.33, 172.236.32.27, 172.236.32.37, 172.236.32.29, 172.236.32.34",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5, 72.14.188.5, 173.255.199.5, 66.228.53.5,
- 96.126.122.5, 96.126.124.5, 96.126.127.5, 198.58.107.5, 198.58.111.5, 23.239.24.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-west", "label": "Fremont, CA", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5,
- 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5,
- 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label":
- "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "74.207.231.5, 173.230.128.5,
- 173.230.129.5, 173.230.136.5, 173.230.140.5, 66.228.59.5, 66.228.62.5, 50.116.35.5,
- 50.116.41.5, 23.239.18.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label":
- "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "66.228.42.5, 96.126.106.5, 50.116.53.5,
- 50.116.58.5, 50.116.61.5, 50.116.62.5, 66.175.211.5, 97.107.133.4, 207.192.69.4,
- 207.192.69.5", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-west", "label": "London, UK", "country":
- "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4":
- "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5,
- 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-south",
- "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "139.162.11.5,
- 139.162.13.5, 139.162.14.5, 139.162.15.5, 139.162.16.5, 139.162.21.5, 139.162.27.5,
- 103.3.60.18, 103.3.60.19, 103.3.60.20", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata"], "status": "ok", "resolvers": {"ipv4": "139.162.130.5, 139.162.131.5,
- 139.162.132.5, 139.162.133.5, 139.162.134.5, 139.162.135.5, 139.162.136.5, 139.162.137.5,
- 139.162.138.5, 139.162.139.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast", "label":
- "Tokyo, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata"], "status": "ok", "resolvers": {"ipv4": "139.162.66.5,
- 139.162.67.5, 139.162.68.5, 139.162.69.5, 139.162.70.5, 139.162.71.5, 139.162.72.5,
- 139.162.73.5, 139.162.74.5, 139.162.75.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages":
- 1, "results": 27}'
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -295,7 +411,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 20:01:01 GMT
+ - Thu, 28 May 2026 13:55:00 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -314,14 +430,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-vol-test-def","region":"ap-west","tags":null}'
+ body: '{"label":"go-vol-test-def","region":"au-mel","tags":null}'
form: {}
headers:
Accept:
@@ -333,11 +449,11 @@ interactions:
url: https://api.linode.com/v4beta/volumes
method: POST
response:
- body: '{"id": 4979067, "status": "creating", "label": "go-vol-test-def", "created":
+ body: '{"id": 15923970, "status": "creating", "label": "go-vol-test-def", "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
"/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 20, "linode_id":
- null, "linode_label": null, "region": "ap-west", "tags": [], "hardware_type":
- "nvme"}'
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -356,13 +472,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "318"
+ - "375"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 20:01:02 GMT
+ - Thu, 28 May 2026 13:55:00 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -395,14 +511,80 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes/4979067
+ url: https://api.linode.com/v4beta/volumes/15923970
+ method: GET
+ response:
+ body: '{"id": 15923970, "status": "active", "label": "go-vol-test-def", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 20, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "373"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 28 May 2026 13:55:15 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - volumes:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/volumes/15923970
method: GET
response:
- body: '{"id": 4979067, "status": "creating", "label": "go-vol-test-def", "created":
+ body: '{"id": 15923970, "status": "active", "label": "go-vol-test-def", "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
"/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 20, "linode_id":
- null, "linode_label": null, "region": "ap-west", "tags": [], "hardware_type":
- "nvme"}'
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -421,13 +603,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "318"
+ - "373"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 20:01:02 GMT
+ - Thu, 28 May 2026 13:55:16 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -445,7 +627,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -461,7 +643,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes/4979067
+ url: https://api.linode.com/v4beta/volumes/15923970
method: DELETE
response:
body: '{}'
@@ -489,7 +671,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 20:01:07 GMT
+ - Thu, 28 May 2026 13:55:21 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -506,7 +688,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestVolume_Get_withEncryption.yaml b/test/integration/fixtures/TestVolume_Get_withEncryption.yaml
index bb2efdac8..611613008 100644
--- a/test/integration/fixtures/TestVolume_Get_withEncryption.yaml
+++ b/test/integration/fixtures/TestVolume_Get_withEncryption.yaml
@@ -14,279 +14,381 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.105.34.5, 172.105.35.5, 172.105.36.5, 172.105.37.5, 172.105.38.5,
- 172.105.39.5, 172.105.40.5, 172.105.41.5, 172.105.42.5, 172.105.43.5", "ipv6":
- "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ca-central",
- "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "172.105.0.5, 172.105.3.5, 172.105.4.5,
- 172.105.5.5, 172.105.6.5, 172.105.7.5, 172.105.8.5, 172.105.9.5, 172.105.10.5,
- 172.105.11.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country": "au", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.105.166.5, 172.105.169.5,
- 172.105.168.5, 172.105.172.5, 172.105.162.5, 172.105.170.5, 172.105.167.5, 172.105.171.5,
- 172.105.181.5, 172.105.161.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-iad", "label": "Washington, DC", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed
- Databases", "Metadata", "Premium Plans", "Placement Group"], "status": "ok",
- "resolvers": {"ipv4": "139.144.192.62, 139.144.192.60, 139.144.192.61, 139.144.192.53,
- 139.144.192.54, 139.144.192.67, 139.144.192.69, 139.144.192.66, 139.144.192.52,
- 139.144.192.68", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-ord", "label": "Chicago, IL", "country": "us", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs",
- "Managed Databases", "Metadata", "Premium Plans", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "172.232.0.17, 172.232.0.16, 172.232.0.21, 172.232.0.13,
- 172.232.0.22, 172.232.0.9, 172.232.0.19, 172.232.0.20, 172.232.0.15, 172.232.0.18",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fr-par", "label":
- "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.32.21,
- 172.232.32.23, 172.232.32.17, 172.232.32.18, 172.232.32.16, 172.232.32.22, 172.232.32.20,
- 172.232.32.14, 172.232.32.11, 172.232.32.12", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-sea", "label": "Seattle, WA", "country":
- "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "172.232.160.19, 172.232.160.21, 172.232.160.17,
- 172.232.160.15, 172.232.160.18, 172.232.160.8, 172.232.160.12, 172.232.160.11,
- 172.232.160.14, 172.232.160.16", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "br-gru", "label": "Sao Paulo, BR", "country": "br", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "172.233.0.4, 172.233.0.9, 172.233.0.7,
- 172.233.0.12, 172.233.0.5, 172.233.0.13, 172.233.0.10, 172.233.0.6, 172.233.0.8,
- 172.233.0.11", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country": "nl", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.33.36,
- 172.233.33.38, 172.233.33.35, 172.233.33.39, 172.233.33.34, 172.233.33.33, 172.233.33.31,
- 172.233.33.30, 172.233.33.37, 172.233.33.32", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country":
- "se", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.128.24,
- 172.232.128.26, 172.232.128.20, 172.232.128.22, 172.232.128.25, 172.232.128.19,
- 172.232.128.23, 172.232.128.18, 172.232.128.21, 172.232.128.27", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "es-mad", "label": "Madrid, ES", "country":
- "es", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.111.6,
- 172.233.111.17, 172.233.111.21, 172.233.111.25, 172.233.111.19, 172.233.111.12,
- 172.233.111.26, 172.233.111.16, 172.233.111.18, 172.233.111.9", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-maa", "label": "Chennai, IN", "country":
- "in", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.232.96.17, 172.232.96.26, 172.232.96.19, 172.232.96.20, 172.232.96.25,
- 172.232.96.21, 172.232.96.18, 172.232.96.22, 172.232.96.23, 172.232.96.24",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "jp-osa", "label":
- "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.64.44, 172.233.64.43,
- 172.233.64.37, 172.233.64.40, 172.233.64.46, 172.233.64.41, 172.233.64.39, 172.233.64.42,
- 172.233.64.45, 172.233.64.38", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "it-mil", "label": "Milan, IT", "country": "it", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.192.19,
- 172.232.192.18, 172.232.192.16, 172.232.192.20, 172.232.192.24, 172.232.192.21,
- 172.232.192.22, 172.232.192.17, 172.232.192.15, 172.232.192.23", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-mia", "label": "Miami, FL", "country":
- "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.233.160.34,
- 172.233.160.27, 172.233.160.30, 172.233.160.29, 172.233.160.32, 172.233.160.28,
- 172.233.160.33, 172.233.160.26, 172.233.160.25, 172.233.160.31", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "id-cgk", "label": "Jakarta, ID", "country":
- "id", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.232.224.23,
- 172.232.224.32, 172.232.224.26, 172.232.224.27, 172.232.224.21, 172.232.224.24,
- 172.232.224.22, 172.232.224.20, 172.232.224.31, 172.232.224.28", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-lax", "label": "Los Angeles, CA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
"Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "172.233.128.45, 172.233.128.38, 172.233.128.53,
- 172.233.128.37, 172.233.128.34, 172.233.128.36, 172.233.128.33, 172.233.128.39,
- 172.233.128.43, 172.233.128.44", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "gb-lon", "label": "London 2, UK", "country": "gb", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "au-mel", "label": "Melbourne, AU", "country":
- "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-bom-2", "label": "Mumbai 2, IN", "country":
- "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
+ "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
"status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "de-fra-2", "label": "Frankfurt 2, DE", "country":
- "de", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
+ "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "sg-sin-2", "label": "Singapore 2, SG", "country":
- "sg", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX", "country":
- "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "72.14.179.5, 72.14.188.5, 173.255.199.5, 66.228.53.5, 96.126.122.5,
- 96.126.124.5, 96.126.127.5, 198.58.107.5, 198.58.111.5, 23.239.24.5", "ipv6":
- "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-west", "label": "Fremont, CA", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5,
- 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5,
- 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": null,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label":
- "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "74.207.231.5, 173.230.128.5,
- 173.230.129.5, 173.230.136.5, 173.230.140.5, 66.228.59.5, 66.228.62.5, 50.116.35.5,
- 50.116.41.5, 23.239.18.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": null,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label":
- "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "66.228.42.5, 96.126.106.5, 50.116.53.5,
- 50.116.58.5, 50.116.61.5, 50.116.62.5, 66.175.211.5, 97.107.133.4, 207.192.69.4,
- 207.192.69.5", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-west", "label": "London, UK", "country":
- "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4":
- "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5,
- 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-south",
- "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "139.162.11.5,
- 139.162.13.5, 139.162.14.5, 139.162.15.5, 139.162.16.5, 139.162.21.5, 139.162.27.5,
- 103.3.60.18, 103.3.60.19, 103.3.60.20", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country":
- "jp", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 30}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -309,7 +411,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 10 Oct 2024 18:19:52 GMT
+ - Thu, 28 May 2026 13:55:22 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -328,14 +430,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-vol-test-get-encryption","region":"us-lax","tags":null,"encryption":"enabled"}'
+ body: '{"label":"go-vol-test-get-encryption","region":"au-mel","tags":null,"encryption":"enabled"}'
form: {}
headers:
Accept:
@@ -347,11 +449,11 @@ interactions:
url: https://api.linode.com/v4beta/volumes
method: POST
response:
- body: '{"id": 6578910, "status": "creating", "label": "go-vol-test-get-encryption",
+ body: '{"id": 15923975, "status": "creating", "label": "go-vol-test-get-encryption",
"created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
"/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-get-encryption", "size": 20,
- "linode_id": null, "linode_label": null, "region": "us-lax", "tags": [], "hardware_type":
- "nvme", "encryption": "enabled"}'
+ "linode_id": null, "linode_label": null, "io_ready": false, "region": "au-mel",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -370,13 +472,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "364"
+ - "397"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 10 Oct 2024 18:19:53 GMT
+ - Thu, 28 May 2026 13:55:22 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -409,14 +511,14 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes/6578910
+ url: https://api.linode.com/v4beta/volumes/15923975
method: GET
response:
- body: '{"id": 6578910, "status": "creating", "label": "go-vol-test-get-encryption",
+ body: '{"id": 15923975, "status": "active", "label": "go-vol-test-get-encryption",
"created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
"/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-get-encryption", "size": 20,
- "linode_id": null, "linode_label": null, "region": "us-lax", "tags": [], "hardware_type":
- "nvme", "encryption": "enabled"}'
+ "linode_id": null, "linode_label": null, "io_ready": false, "region": "au-mel",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -435,13 +537,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "364"
+ - "395"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 10 Oct 2024 18:19:53 GMT
+ - Thu, 28 May 2026 13:55:37 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -459,7 +561,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -475,14 +577,14 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes?page=1
+ url: https://api.linode.com/v4beta/volumes/15923975
method: GET
response:
- body: '{"data": [{"id": 6578910, "status": "creating", "label": "go-vol-test-get-encryption",
+ body: '{"id": 15923975, "status": "active", "label": "go-vol-test-get-encryption",
"created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
"/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-get-encryption", "size": 20,
- "linode_id": null, "linode_label": null, "region": "us-lax", "tags": [], "hardware_type":
- "nvme", "encryption": "enabled"}], "page": 1, "pages": 1, "results": 1}'
+ "linode_id": null, "linode_label": null, "io_ready": false, "region": "au-mel",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -501,13 +603,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "413"
+ - "395"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 10 Oct 2024 18:19:53 GMT
+ - Thu, 28 May 2026 13:55:38 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -525,7 +627,162 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/volumes?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": 15874469, "status": "active", "label": "cloned-volume-attached-132576121",
+ "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_cloned-volume-attached-132576121", "size":
+ 50, "linode_id": null, "linode_label": null, "io_ready": false, "region": "us-ord",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []},
+ {"id": 15874480, "status": "active", "label": "cloned-attached-resize-132576121",
+ "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_cloned-attached-resize-132576121", "size":
+ 60, "linode_id": null, "linode_label": null, "io_ready": false, "region": "us-ord",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []},
+ {"id": 15889508, "status": "active", "label": "pvc-1a746fc46ce349d4", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_pvc-1a746fc46ce349d4", "size": 10, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "id-cgk", "tags": [],
+ "hardware_type": "nvme", "encryption": "disabled", "locks": []}, {"id": 15889509,
+ "status": "active", "label": "pvc-3948e156eec74170", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_pvc-3948e156eec74170",
+ "size": 10, "linode_id": null, "linode_label": null, "io_ready": false, "region":
+ "id-cgk", "tags": [], "hardware_type": "nvme", "encryption": "disabled", "locks":
+ []}, {"id": 15889510, "status": "active", "label": "pvc-d03e8d9278124eb6", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_pvc-d03e8d9278124eb6", "size": 10, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "id-cgk", "tags": [],
+ "hardware_type": "nvme", "encryption": "disabled", "locks": []}, {"id": 15889511,
+ "status": "active", "label": "pvc-a4b4964e406847cb", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_pvc-a4b4964e406847cb",
+ "size": 10, "linode_id": null, "linode_label": null, "io_ready": false, "region":
+ "id-cgk", "tags": [], "hardware_type": "nvme", "encryption": "disabled", "locks":
+ []}, {"id": 15889513, "status": "active", "label": "pvc-ed76aab67b694faa", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_pvc-ed76aab67b694faa", "size": 10, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "id-cgk", "tags": [],
+ "hardware_type": "nvme", "encryption": "disabled", "locks": []}, {"id": 15889519,
+ "status": "active", "label": "pvc-c08c0207f1ae48eb", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_pvc-c08c0207f1ae48eb",
+ "size": 10, "linode_id": null, "linode_label": null, "io_ready": false, "region":
+ "id-cgk", "tags": [], "hardware_type": "nvme", "encryption": "disabled", "locks":
+ []}, {"id": 15889535, "status": "active", "label": "pvc-33a1623b72d34854", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_pvc-33a1623b72d34854", "size": 10, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "id-cgk", "tags": [],
+ "hardware_type": "nvme", "encryption": "disabled", "locks": []}, {"id": 15889536,
+ "status": "active", "label": "pvc-cfb18b1a49a54f7a", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_pvc-cfb18b1a49a54f7a",
+ "size": 10, "linode_id": null, "linode_label": null, "io_ready": false, "region":
+ "id-cgk", "tags": [], "hardware_type": "nvme", "encryption": "disabled", "locks":
+ []}, {"id": 15889538, "status": "active", "label": "pvc-8095914f20054411", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_pvc-8095914f20054411", "size": 10, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "id-cgk", "tags": [],
+ "hardware_type": "nvme", "encryption": "disabled", "locks": []}, {"id": 15889539,
+ "status": "active", "label": "pvc-efdf4f112a4d40f5", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_pvc-efdf4f112a4d40f5",
+ "size": 10, "linode_id": null, "linode_label": null, "io_ready": false, "region":
+ "id-cgk", "tags": [], "hardware_type": "nvme", "encryption": "disabled", "locks":
+ []}, {"id": 15889551, "status": "active", "label": "pvc-4a34a1b53c9b4129", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_pvc-4a34a1b53c9b4129", "size": 10, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "id-cgk", "tags": [],
+ "hardware_type": "nvme", "encryption": "disabled", "locks": []}, {"id": 15889583,
+ "status": "active", "label": "pvc-e6c279532fd84c3c", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_pvc-e6c279532fd84c3c",
+ "size": 10, "linode_id": null, "linode_label": null, "io_ready": false, "region":
+ "id-cgk", "tags": [], "hardware_type": "nvme", "encryption": "disabled", "locks":
+ []}, {"id": 15889594, "status": "active", "label": "pvc-144c5998a2ac4b99", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_pvc-144c5998a2ac4b99", "size": 10, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "id-cgk", "tags": [],
+ "hardware_type": "nvme", "encryption": "disabled", "locks": []}, {"id": 15894367,
+ "status": "active", "label": "cloned-volume-attached-980267178", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_cloned-volume-attached-980267178", "size":
+ 50, "linode_id": null, "linode_label": null, "io_ready": false, "region": "us-ord",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []},
+ {"id": 15894381, "status": "active", "label": "cloned-attached-resize-980267178",
+ "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_cloned-attached-resize-980267178", "size":
+ 60, "linode_id": null, "linode_label": null, "io_ready": false, "region": "us-ord",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []},
+ {"id": 15913845, "status": "active", "label": "cloned-volume-attached-189342076",
+ "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_cloned-volume-attached-189342076", "size":
+ 50, "linode_id": null, "linode_label": null, "io_ready": false, "region": "us-ord",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []},
+ {"id": 15913855, "status": "active", "label": "cloned-attached-resize-189342076",
+ "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_cloned-attached-resize-189342076", "size":
+ 60, "linode_id": null, "linode_label": null, "io_ready": false, "region": "us-ord",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []},
+ {"id": 15923975, "status": "active", "label": "go-vol-test-get-encryption",
+ "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-get-encryption", "size": 20,
+ "linode_id": null, "linode_label": null, "io_ready": false, "region": "au-mel",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []}],
+ "page": 1, "pages": 1, "results": 20}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 28 May 2026 13:55:38 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - volumes:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -541,7 +798,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes/6578910
+ url: https://api.linode.com/v4beta/volumes/15923975
method: DELETE
response:
body: '{}'
@@ -569,7 +826,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 10 Oct 2024 18:19:58 GMT
+ - Thu, 28 May 2026 13:55:43 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -586,7 +843,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "800"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestVolume_List.yaml b/test/integration/fixtures/TestVolume_List.yaml
index 191a8fc5c..60a03dfcf 100644
--- a/test/integration/fixtures/TestVolume_List.yaml
+++ b/test/integration/fixtures/TestVolume_List.yaml
@@ -14,265 +14,381 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata"], "status": "ok", "resolvers": {"ipv4": "172.105.34.5, 172.105.35.5,
- 172.105.36.5, 172.105.37.5, 172.105.38.5, 172.105.39.5, 172.105.40.5, 172.105.41.5,
- 172.105.42.5, 172.105.43.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "ca-central", "label": "Toronto, CA", "country": "ca", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata"],
- "status": "ok", "resolvers": {"ipv4": "172.105.0.5, 172.105.3.5, 172.105.4.5,
- 172.105.5.5, 172.105.6.5, 172.105.7.5, 172.105.8.5, 172.105.9.5, 172.105.10.5,
- 172.105.11.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country": "au", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata"],
- "status": "ok", "resolvers": {"ipv4": "172.105.166.5, 172.105.169.5, 172.105.168.5,
- 172.105.172.5, 172.105.162.5, 172.105.170.5, 172.105.167.5, 172.105.171.5, 172.105.181.5,
- 172.105.161.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-iad", "label": "Washington, DC", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "139.144.192.62, 139.144.192.60, 139.144.192.61,
- 139.144.192.53, 139.144.192.54, 139.144.192.67, 139.144.192.69, 139.144.192.66,
- 139.144.192.52, 139.144.192.68", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-ord", "label": "Chicago, IL", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU
- Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17, 172.232.0.16, 172.232.0.21, 172.232.0.13, 172.232.0.22,
- 172.232.0.9, 172.232.0.19, 172.232.0.20, 172.232.0.15, 172.232.0.18", "ipv6":
- "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fr-par", "label":
- "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans"], "status":
- "ok", "resolvers": {"ipv4": "172.232.32.21, 172.232.32.23, 172.232.32.17, 172.232.32.18,
- 172.232.32.16, 172.232.32.22, 172.232.32.20, 172.232.32.14, 172.232.32.11, 172.232.32.12",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-sea", "label":
- "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
+ "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
+ "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.232.160.19, 172.232.160.21, 172.232.160.17, 172.232.160.15, 172.232.160.18,
- 172.232.160.8, 172.232.160.12, 172.232.160.11, 172.232.160.14, 172.232.160.16",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "br-gru", "label":
- "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.233.0.4, 172.233.0.9, 172.233.0.7, 172.233.0.12, 172.233.0.5, 172.233.0.13,
- 172.233.0.10, 172.233.0.6, 172.233.0.8, 172.233.0.11", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country":
- "nl", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.233.33.36, 172.233.33.38,
- 172.233.33.35, 172.233.33.39, 172.233.33.34, 172.233.33.33, 172.233.33.31, 172.233.33.30,
- 172.233.33.37, 172.233.33.32", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country": "se", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "172.232.128.24, 172.232.128.26, 172.232.128.20,
- 172.232.128.22, 172.232.128.25, 172.232.128.19, 172.232.128.23, 172.232.128.18,
- 172.232.128.21, 172.232.128.27", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "es-mad", "label": "Madrid, ES", "country": "es", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok",
- "resolvers": {"ipv4": "172.233.111.6, 172.233.111.17, 172.233.111.21, 172.233.111.25,
- 172.233.111.19, 172.233.111.12, 172.233.111.26, 172.233.111.16, 172.233.111.18,
- 172.233.111.9", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "in-maa", "label": "Chennai, IN", "country": "in", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok",
- "resolvers": {"ipv4": "172.232.96.17, 172.232.96.26, 172.232.96.19, 172.232.96.20,
- 172.232.96.25, 172.232.96.21, 172.232.96.18, 172.232.96.22, 172.232.96.23, 172.232.96.24",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "jp-osa", "label":
- "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44, 172.233.64.43, 172.233.64.37, 172.233.64.40, 172.233.64.46,
- 172.233.64.41, 172.233.64.39, 172.233.64.42, 172.233.64.45, 172.233.64.38",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "it-mil", "label":
- "Milan, IT", "country": "it", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.232.192.19, 172.232.192.18, 172.232.192.16, 172.232.192.20, 172.232.192.24,
- 172.232.192.21, 172.232.192.22, 172.232.192.17, 172.232.192.15, 172.232.192.23",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-mia", "label":
- "Miami, FL", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34, 172.233.160.27, 172.233.160.30, 172.233.160.29, 172.233.160.32,
- 172.233.160.28, 172.233.160.33, 172.233.160.26, 172.233.160.25, 172.233.160.31",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "id-cgk", "label":
- "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.232.224.23, 172.232.224.32, 172.232.224.26, 172.232.224.27, 172.232.224.21,
- 172.232.224.24, 172.232.224.22, 172.232.224.20, 172.232.224.31, 172.232.224.28",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-lax", "label":
- "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.233.128.45, 172.233.128.38, 172.233.128.53, 172.233.128.37, 172.233.128.34,
- 172.233.128.36, 172.233.128.33, 172.233.128.39, 172.233.128.43, 172.233.128.44",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "gb-lon", "label":
- "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.236.0.46, 172.236.0.50,
- 172.236.0.47, 172.236.0.53, 172.236.0.52, 172.236.0.45, 172.236.0.49, 172.236.0.51,
- 172.236.0.54, 172.236.0.48", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23, 172.236.32.35, 172.236.32.30, 172.236.32.28, 172.236.32.32,
- 172.236.32.33, 172.236.32.27, 172.236.32.37, 172.236.32.29, 172.236.32.34",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5, 72.14.188.5, 173.255.199.5, 66.228.53.5,
- 96.126.122.5, 96.126.124.5, 96.126.127.5, 198.58.107.5, 198.58.111.5, 23.239.24.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-west", "label": "Fremont, CA", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5,
- 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5,
- 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label":
- "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "74.207.231.5, 173.230.128.5,
- 173.230.129.5, 173.230.136.5, 173.230.140.5, 66.228.59.5, 66.228.62.5, 50.116.35.5,
- 50.116.41.5, 23.239.18.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label":
- "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "66.228.42.5, 96.126.106.5, 50.116.53.5,
- 50.116.58.5, 50.116.61.5, 50.116.62.5, 66.175.211.5, 97.107.133.4, 207.192.69.4,
- 207.192.69.5", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-west", "label": "London, UK", "country":
- "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4":
- "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5,
- 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-south",
- "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "139.162.11.5,
- 139.162.13.5, 139.162.14.5, 139.162.15.5, 139.162.16.5, 139.162.21.5, 139.162.27.5,
- 103.3.60.18, 103.3.60.19, 103.3.60.20", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata"], "status": "ok", "resolvers": {"ipv4": "139.162.130.5, 139.162.131.5,
- 139.162.132.5, 139.162.133.5, 139.162.134.5, 139.162.135.5, 139.162.136.5, 139.162.137.5,
- 139.162.138.5, 139.162.139.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast", "label":
- "Tokyo, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata"], "status": "ok", "resolvers": {"ipv4": "139.162.66.5,
- 139.162.67.5, 139.162.68.5, 139.162.69.5, 139.162.70.5, 139.162.71.5, 139.162.72.5,
- 139.162.73.5, 139.162.74.5, 139.162.75.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages":
- 1, "results": 27}'
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -295,7 +411,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 20:00:56 GMT
+ - Thu, 28 May 2026 13:47:27 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -314,14 +430,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-vol-test-def","region":"ap-west","tags":null}'
+ body: '{"label":"go-vol-test-def","region":"au-mel","tags":null}'
form: {}
headers:
Accept:
@@ -333,11 +449,11 @@ interactions:
url: https://api.linode.com/v4beta/volumes
method: POST
response:
- body: '{"id": 4979065, "status": "creating", "label": "go-vol-test-def", "created":
+ body: '{"id": 15923878, "status": "creating", "label": "go-vol-test-def", "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
"/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 20, "linode_id":
- null, "linode_label": null, "region": "ap-west", "tags": [], "hardware_type":
- "nvme"}'
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -356,13 +472,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "318"
+ - "375"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 20:00:56 GMT
+ - Thu, 28 May 2026 13:47:28 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -385,6 +501,72 @@ interactions:
status: 200 OK
code: 200
duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/volumes/15923878
+ method: GET
+ response:
+ body: '{"id": 15923878, "status": "active", "label": "go-vol-test-def", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 20, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "373"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 28 May 2026 13:47:43 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - volumes:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
- request:
body: ""
form: {}
@@ -398,11 +580,101 @@ interactions:
url: https://api.linode.com/v4beta/volumes?page=1
method: GET
response:
- body: '{"data": [{"id": 4979065, "status": "creating", "label": "go-vol-test-def",
+ body: '{"data": [{"id": 15874469, "status": "active", "label": "cloned-volume-attached-132576121",
"created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_cloned-volume-attached-132576121", "size":
+ 50, "linode_id": null, "linode_label": null, "io_ready": false, "region": "us-ord",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []},
+ {"id": 15874480, "status": "active", "label": "cloned-attached-resize-132576121",
+ "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_cloned-attached-resize-132576121", "size":
+ 60, "linode_id": null, "linode_label": null, "io_ready": false, "region": "us-ord",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []},
+ {"id": 15889508, "status": "active", "label": "pvc-1a746fc46ce349d4", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_pvc-1a746fc46ce349d4", "size": 10, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "id-cgk", "tags": [],
+ "hardware_type": "nvme", "encryption": "disabled", "locks": []}, {"id": 15889509,
+ "status": "active", "label": "pvc-3948e156eec74170", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_pvc-3948e156eec74170",
+ "size": 10, "linode_id": null, "linode_label": null, "io_ready": false, "region":
+ "id-cgk", "tags": [], "hardware_type": "nvme", "encryption": "disabled", "locks":
+ []}, {"id": 15889510, "status": "active", "label": "pvc-d03e8d9278124eb6", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_pvc-d03e8d9278124eb6", "size": 10, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "id-cgk", "tags": [],
+ "hardware_type": "nvme", "encryption": "disabled", "locks": []}, {"id": 15889511,
+ "status": "active", "label": "pvc-a4b4964e406847cb", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_pvc-a4b4964e406847cb",
+ "size": 10, "linode_id": null, "linode_label": null, "io_ready": false, "region":
+ "id-cgk", "tags": [], "hardware_type": "nvme", "encryption": "disabled", "locks":
+ []}, {"id": 15889513, "status": "active", "label": "pvc-ed76aab67b694faa", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_pvc-ed76aab67b694faa", "size": 10, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "id-cgk", "tags": [],
+ "hardware_type": "nvme", "encryption": "disabled", "locks": []}, {"id": 15889519,
+ "status": "active", "label": "pvc-c08c0207f1ae48eb", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_pvc-c08c0207f1ae48eb",
+ "size": 10, "linode_id": null, "linode_label": null, "io_ready": false, "region":
+ "id-cgk", "tags": [], "hardware_type": "nvme", "encryption": "disabled", "locks":
+ []}, {"id": 15889535, "status": "active", "label": "pvc-33a1623b72d34854", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_pvc-33a1623b72d34854", "size": 10, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "id-cgk", "tags": [],
+ "hardware_type": "nvme", "encryption": "disabled", "locks": []}, {"id": 15889536,
+ "status": "active", "label": "pvc-cfb18b1a49a54f7a", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_pvc-cfb18b1a49a54f7a",
+ "size": 10, "linode_id": null, "linode_label": null, "io_ready": false, "region":
+ "id-cgk", "tags": [], "hardware_type": "nvme", "encryption": "disabled", "locks":
+ []}, {"id": 15889538, "status": "active", "label": "pvc-8095914f20054411", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_pvc-8095914f20054411", "size": 10, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "id-cgk", "tags": [],
+ "hardware_type": "nvme", "encryption": "disabled", "locks": []}, {"id": 15889539,
+ "status": "active", "label": "pvc-efdf4f112a4d40f5", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_pvc-efdf4f112a4d40f5",
+ "size": 10, "linode_id": null, "linode_label": null, "io_ready": false, "region":
+ "id-cgk", "tags": [], "hardware_type": "nvme", "encryption": "disabled", "locks":
+ []}, {"id": 15889551, "status": "active", "label": "pvc-4a34a1b53c9b4129", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_pvc-4a34a1b53c9b4129", "size": 10, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "id-cgk", "tags": [],
+ "hardware_type": "nvme", "encryption": "disabled", "locks": []}, {"id": 15889583,
+ "status": "active", "label": "pvc-e6c279532fd84c3c", "created": "2018-01-02T03:04:05",
+ "updated": "2018-01-02T03:04:05", "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_pvc-e6c279532fd84c3c",
+ "size": 10, "linode_id": null, "linode_label": null, "io_ready": false, "region":
+ "id-cgk", "tags": [], "hardware_type": "nvme", "encryption": "disabled", "locks":
+ []}, {"id": 15889594, "status": "active", "label": "pvc-144c5998a2ac4b99", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_pvc-144c5998a2ac4b99", "size": 10, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "id-cgk", "tags": [],
+ "hardware_type": "nvme", "encryption": "disabled", "locks": []}, {"id": 15894367,
+ "status": "active", "label": "cloned-volume-attached-980267178", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_cloned-volume-attached-980267178", "size":
+ 50, "linode_id": null, "linode_label": null, "io_ready": false, "region": "us-ord",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []},
+ {"id": 15894381, "status": "active", "label": "cloned-attached-resize-980267178",
+ "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_cloned-attached-resize-980267178", "size":
+ 60, "linode_id": null, "linode_label": null, "io_ready": false, "region": "us-ord",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []},
+ {"id": 15913845, "status": "active", "label": "cloned-volume-attached-189342076",
+ "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_cloned-volume-attached-189342076", "size":
+ 50, "linode_id": null, "linode_label": null, "io_ready": false, "region": "us-ord",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []},
+ {"id": 15913855, "status": "active", "label": "cloned-attached-resize-189342076",
+ "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_cloned-attached-resize-189342076", "size":
+ 60, "linode_id": null, "linode_label": null, "io_ready": false, "region": "us-ord",
+ "tags": [], "hardware_type": "nvme", "encryption": "enabled", "locks": []},
+ {"id": 15923878, "status": "active", "label": "go-vol-test-def", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
"/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 20, "linode_id":
- null, "linode_label": null, "region": "ap-west", "tags": [], "hardware_type":
- "nvme"}], "page": 1, "pages": 1, "results": 1}'
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}], "page": 1,
+ "pages": 1, "results": 20}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -420,14 +692,12 @@ interactions:
- max-age=0, no-cache, no-store
Connection:
- keep-alive
- Content-Length:
- - "367"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 20:00:56 GMT
+ - Thu, 28 May 2026 13:47:43 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -435,6 +705,7 @@ interactions:
Vary:
- Authorization, X-Filter
- Authorization, X-Filter
+ - Accept-Encoding
X-Accepted-Oauth-Scopes:
- volumes:read_only
X-Content-Type-Options:
@@ -445,7 +716,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -461,7 +732,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes/4979065
+ url: https://api.linode.com/v4beta/volumes/15923878
method: DELETE
response:
body: '{}'
@@ -489,7 +760,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 20:01:01 GMT
+ - Thu, 28 May 2026 13:47:49 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -506,7 +777,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestVolume_Resize.yaml b/test/integration/fixtures/TestVolume_Resize.yaml
index 79e8a536c..352fec8b3 100644
--- a/test/integration/fixtures/TestVolume_Resize.yaml
+++ b/test/integration/fixtures/TestVolume_Resize.yaml
@@ -1,579 +1,827 @@
---
version: 1
interactions:
- - request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/regions?page=1
- method: GET
- response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata"], "status": "ok", "resolvers": {"ipv4": "172.105.34.5, 172.105.35.5,
- 172.105.36.5, 172.105.37.5, 172.105.38.5, 172.105.39.5, 172.105.40.5, 172.105.41.5,
- 172.105.42.5, 172.105.43.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "ca-central", "label": "Toronto, CA", "country": "ca", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata"],
- "status": "ok", "resolvers": {"ipv4": "172.105.0.5, 172.105.3.5, 172.105.4.5,
- 172.105.5.5, 172.105.6.5, 172.105.7.5, 172.105.8.5, 172.105.9.5, 172.105.10.5,
- 172.105.11.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country": "au", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata"],
- "status": "ok", "resolvers": {"ipv4": "172.105.166.5, 172.105.169.5, 172.105.168.5,
- 172.105.172.5, 172.105.162.5, 172.105.170.5, 172.105.167.5, 172.105.171.5, 172.105.181.5,
- 172.105.161.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-iad", "label": "Washington, DC", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "139.144.192.62, 139.144.192.60, 139.144.192.61,
- 139.144.192.53, 139.144.192.54, 139.144.192.67, 139.144.192.69, 139.144.192.66,
- 139.144.192.52, 139.144.192.68", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-ord", "label": "Chicago, IL", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU
- Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17, 172.232.0.16, 172.232.0.21, 172.232.0.13, 172.232.0.22,
- 172.232.0.9, 172.232.0.19, 172.232.0.20, 172.232.0.15, 172.232.0.18", "ipv6":
- "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fr-par", "label":
- "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans"], "status":
- "ok", "resolvers": {"ipv4": "172.232.32.21, 172.232.32.23, 172.232.32.17, 172.232.32.18,
- 172.232.32.16, 172.232.32.22, 172.232.32.20, 172.232.32.14, 172.232.32.11, 172.232.32.12",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-sea", "label":
- "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/regions?page=1
+ method: GET
+ response:
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
+ "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
+ "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.232.160.19, 172.232.160.21, 172.232.160.17, 172.232.160.15, 172.232.160.18,
- 172.232.160.8, 172.232.160.12, 172.232.160.11, 172.232.160.14, 172.232.160.16",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "br-gru", "label":
- "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.233.0.4, 172.233.0.9, 172.233.0.7, 172.233.0.12, 172.233.0.5, 172.233.0.13,
- 172.233.0.10, 172.233.0.6, 172.233.0.8, 172.233.0.11", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country":
- "nl", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.233.33.36, 172.233.33.38,
- 172.233.33.35, 172.233.33.39, 172.233.33.34, 172.233.33.33, 172.233.33.31, 172.233.33.30,
- 172.233.33.37, 172.233.33.32", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country": "se", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "172.232.128.24, 172.232.128.26, 172.232.128.20,
- 172.232.128.22, 172.232.128.25, 172.232.128.19, 172.232.128.23, 172.232.128.18,
- 172.232.128.21, 172.232.128.27", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "es-mad", "label": "Madrid, ES", "country": "es", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok",
- "resolvers": {"ipv4": "172.233.111.6, 172.233.111.17, 172.233.111.21, 172.233.111.25,
- 172.233.111.19, 172.233.111.12, 172.233.111.26, 172.233.111.16, 172.233.111.18,
- 172.233.111.9", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "in-maa", "label": "Chennai, IN", "country": "in", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok",
- "resolvers": {"ipv4": "172.232.96.17, 172.232.96.26, 172.232.96.19, 172.232.96.20,
- 172.232.96.25, 172.232.96.21, 172.232.96.18, 172.232.96.22, 172.232.96.23, 172.232.96.24",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "jp-osa", "label":
- "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44, 172.233.64.43, 172.233.64.37, 172.233.64.40, 172.233.64.46,
- 172.233.64.41, 172.233.64.39, 172.233.64.42, 172.233.64.45, 172.233.64.38",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "it-mil", "label":
- "Milan, IT", "country": "it", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.232.192.19, 172.232.192.18, 172.232.192.16, 172.232.192.20, 172.232.192.24,
- 172.232.192.21, 172.232.192.22, 172.232.192.17, 172.232.192.15, 172.232.192.23",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-mia", "label":
- "Miami, FL", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34, 172.233.160.27, 172.233.160.30, 172.233.160.29, 172.233.160.32,
- 172.233.160.28, 172.233.160.33, 172.233.160.26, 172.233.160.25, 172.233.160.31",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "id-cgk", "label":
- "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.232.224.23, 172.232.224.32, 172.232.224.26, 172.232.224.27, 172.232.224.21,
- 172.232.224.24, 172.232.224.22, 172.232.224.20, 172.232.224.31, 172.232.224.28",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-lax", "label":
- "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.233.128.45, 172.233.128.38, 172.233.128.53, 172.233.128.37, 172.233.128.34,
- 172.233.128.36, 172.233.128.33, 172.233.128.39, 172.233.128.43, 172.233.128.44",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "gb-lon", "label":
- "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.236.0.46, 172.236.0.50,
- 172.236.0.47, 172.236.0.53, 172.236.0.52, 172.236.0.45, 172.236.0.49, 172.236.0.51,
- 172.236.0.54, 172.236.0.48", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23, 172.236.32.35, 172.236.32.30, 172.236.32.28, 172.236.32.32,
- 172.236.32.33, 172.236.32.27, 172.236.32.37, 172.236.32.29, 172.236.32.34",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5, 72.14.188.5, 173.255.199.5, 66.228.53.5,
- 96.126.122.5, 96.126.124.5, 96.126.127.5, 198.58.107.5, 198.58.111.5, 23.239.24.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-west", "label": "Fremont, CA", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5,
- 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5,
- 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label":
- "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "74.207.231.5, 173.230.128.5,
- 173.230.129.5, 173.230.136.5, 173.230.140.5, 66.228.59.5, 66.228.62.5, 50.116.35.5,
- 50.116.41.5, 23.239.18.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label":
- "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "66.228.42.5, 96.126.106.5, 50.116.53.5,
- 50.116.58.5, 50.116.61.5, 50.116.62.5, 66.175.211.5, 97.107.133.4, 207.192.69.4,
- 207.192.69.5", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-west", "label": "London, UK", "country":
- "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4":
- "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5,
- 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-south",
- "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "139.162.11.5,
- 139.162.13.5, 139.162.14.5, 139.162.15.5, 139.162.16.5, 139.162.21.5, 139.162.27.5,
- 103.3.60.18, 103.3.60.19, 103.3.60.20", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata"], "status": "ok", "resolvers": {"ipv4": "139.162.130.5, 139.162.131.5,
- 139.162.132.5, 139.162.133.5, 139.162.134.5, 139.162.135.5, 139.162.136.5, 139.162.137.5,
- 139.162.138.5, 139.162.139.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast", "label":
- "Tokyo, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata"], "status": "ok", "resolvers": {"ipv4": "139.162.66.5,
- 139.162.67.5, 139.162.68.5, 139.162.69.5, 139.162.70.5, 139.162.71.5, 139.162.72.5,
- 139.162.73.5, 139.162.74.5, 139.162.75.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages":
- 1, "results": 27}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Thu, 11 Jul 2024 20:00:35 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- - Accept-Encoding
- X-Accepted-Oauth-Scopes:
- - '*'
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "400"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
- - request:
- body: '{"label":"go-vol-test-def","region":"ap-west","tags":null}'
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes
- method: POST
- response:
- body: '{"id": 4979055, "status": "creating", "label": "go-vol-test-def", "created":
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 28 May 2026 13:46:11 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ - Accept-Encoding
+ X-Accepted-Oauth-Scopes:
+ - '*'
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"label":"go-vol-test-def","region":"au-mel","tags":null}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/volumes
+ method: POST
+ response:
+ body: '{"id": 15923859, "status": "creating", "label": "go-vol-test-def", "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
"/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 20, "linode_id":
- null, "linode_label": null, "region": "ap-west", "tags": [], "hardware_type":
- "nvme"}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "318"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Thu, 11 Jul 2024 20:00:35 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - volumes:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "100"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
- - request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes/4979055
- method: GET
- response:
- body: '{"id": 4979055, "status": "active", "label": "go-vol-test-def", "created":
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "375"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 28 May 2026 13:46:12 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - volumes:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "100"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/volumes/15923859
+ method: GET
+ response:
+ body: '{"id": 15923859, "status": "active", "label": "go-vol-test-def", "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
"/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 20, "linode_id":
- null, "linode_label": null, "region": "ap-west", "tags": [], "hardware_type":
- "nvme"}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "316"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Thu, 11 Jul 2024 20:00:50 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - volumes:read_only
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "400"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
- - request:
- body: '{"size":21}'
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes/4979055/resize
- method: POST
- response:
- body: '{"id": 4979055, "status": "resizing", "label": "go-vol-test-def", "created":
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "373"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 28 May 2026 13:46:27 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - volumes:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/volumes/15923859
+ method: GET
+ response:
+ body: '{"id": 15923859, "status": "active", "label": "go-vol-test-def", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 20, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "373"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 28 May 2026 13:46:43 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - volumes:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: '{"size":21}'
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/volumes/15923859/resize
+ method: POST
+ response:
+ body: '{"id": 15923859, "status": "resizing", "label": "go-vol-test-def", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 21, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "375"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 28 May 2026 13:46:43 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - volumes:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/volumes/15923859
+ method: GET
+ response:
+ body: '{"id": 15923859, "status": "active", "label": "go-vol-test-def", "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
"/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 21, "linode_id":
- null, "linode_label": null, "region": "ap-west", "tags": [], "hardware_type":
- "nvme"}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "318"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Thu, 11 Jul 2024 20:00:50 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - volumes:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "400"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
- - request:
- body: ""
- form: {}
- headers:
- Accept:
- - application/json
- Content-Type:
- - application/json
- User-Agent:
- - linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes/4979055
- method: DELETE
- response:
- body: '{}'
- headers:
- Access-Control-Allow-Credentials:
- - "true"
- Access-Control-Allow-Headers:
- - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
- Access-Control-Allow-Methods:
- - HEAD, GET, OPTIONS, POST, PUT, DELETE
- Access-Control-Allow-Origin:
- - '*'
- Access-Control-Expose-Headers:
- - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
- Akamai-Internal-Account:
- - '*'
- Cache-Control:
- - max-age=0, no-cache, no-store
- Connection:
- - keep-alive
- Content-Length:
- - "2"
- Content-Security-Policy:
- - default-src 'none'
- Content-Type:
- - application/json
- Expires:
- - Thu, 11 Jul 2024 20:00:55 GMT
- Pragma:
- - no-cache
- Strict-Transport-Security:
- - max-age=31536000
- Vary:
- - Authorization, X-Filter
- X-Accepted-Oauth-Scopes:
- - volumes:read_write
- X-Content-Type-Options:
- - nosniff
- X-Frame-Options:
- - DENY
- - DENY
- X-Oauth-Scopes:
- - '*'
- X-Ratelimit-Limit:
- - "400"
- X-Xss-Protection:
- - 1; mode=block
- status: 200 OK
- code: 200
- duration: ""
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "373"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 28 May 2026 13:46:58 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - volumes:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/volumes/15923859
+ method: DELETE
+ response:
+ body: '{}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "2"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 28 May 2026 13:47:04 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - volumes:read_write
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
diff --git a/test/integration/fixtures/TestVolume_Update.yaml b/test/integration/fixtures/TestVolume_Update.yaml
index b1661bf7d..4ab8acfaa 100644
--- a/test/integration/fixtures/TestVolume_Update.yaml
+++ b/test/integration/fixtures/TestVolume_Update.yaml
@@ -14,265 +14,381 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata"], "status": "ok", "resolvers": {"ipv4": "172.105.34.5, 172.105.35.5,
- 172.105.36.5, 172.105.37.5, 172.105.38.5, 172.105.39.5, 172.105.40.5, 172.105.41.5,
- 172.105.42.5, 172.105.43.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "ca-central", "label": "Toronto, CA", "country": "ca", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata"],
- "status": "ok", "resolvers": {"ipv4": "172.105.0.5, 172.105.3.5, 172.105.4.5,
- 172.105.5.5, 172.105.6.5, 172.105.7.5, 172.105.8.5, 172.105.9.5, 172.105.10.5,
- 172.105.11.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country": "au", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata"],
- "status": "ok", "resolvers": {"ipv4": "172.105.166.5, 172.105.169.5, 172.105.168.5,
- 172.105.172.5, 172.105.162.5, 172.105.170.5, 172.105.167.5, 172.105.171.5, 172.105.181.5,
- 172.105.161.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-iad", "label": "Washington, DC", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "139.144.192.62, 139.144.192.60, 139.144.192.61,
- 139.144.192.53, 139.144.192.54, 139.144.192.67, 139.144.192.69, 139.144.192.66,
- 139.144.192.52, 139.144.192.68", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-ord", "label": "Chicago, IL", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU
- Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases",
- "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17, 172.232.0.16, 172.232.0.21, 172.232.0.13, 172.232.0.22,
- 172.232.0.9, 172.232.0.19, 172.232.0.20, 172.232.0.15, 172.232.0.18", "ipv6":
- "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fr-par", "label":
- "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans"], "status":
- "ok", "resolvers": {"ipv4": "172.232.32.21, 172.232.32.23, 172.232.32.17, 172.232.32.18,
- 172.232.32.16, 172.232.32.22, 172.232.32.20, 172.232.32.14, 172.232.32.11, 172.232.32.12",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-sea", "label":
- "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
+ "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
+ "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.232.160.19, 172.232.160.21, 172.232.160.17, 172.232.160.15, 172.232.160.18,
- 172.232.160.8, 172.232.160.12, 172.232.160.11, 172.232.160.14, 172.232.160.16",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "br-gru", "label":
- "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.233.0.4, 172.233.0.9, 172.233.0.7, 172.233.0.12, 172.233.0.5, 172.233.0.13,
- 172.233.0.10, 172.233.0.6, 172.233.0.8, 172.233.0.11", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country":
- "nl", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.233.33.36, 172.233.33.38,
- 172.233.33.35, 172.233.33.39, 172.233.33.34, 172.233.33.33, 172.233.33.31, 172.233.33.30,
- 172.233.33.37, 172.233.33.32", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country": "se", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group"],
- "status": "ok", "resolvers": {"ipv4": "172.232.128.24, 172.232.128.26, 172.232.128.20,
- 172.232.128.22, 172.232.128.25, 172.232.128.19, 172.232.128.23, 172.232.128.18,
- 172.232.128.21, 172.232.128.27", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "es-mad", "label": "Madrid, ES", "country": "es", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok",
- "resolvers": {"ipv4": "172.233.111.6, 172.233.111.17, 172.233.111.21, 172.233.111.25,
- 172.233.111.19, 172.233.111.12, 172.233.111.26, 172.233.111.16, 172.233.111.18,
- 172.233.111.9", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "in-maa", "label": "Chennai, IN", "country": "in", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok",
- "resolvers": {"ipv4": "172.232.96.17, 172.232.96.26, 172.232.96.19, 172.232.96.20,
- 172.232.96.25, 172.232.96.21, 172.232.96.18, 172.232.96.22, 172.232.96.23, 172.232.96.24",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "jp-osa", "label":
- "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44, 172.233.64.43, 172.233.64.37, 172.233.64.40, 172.233.64.46,
- 172.233.64.41, 172.233.64.39, 172.233.64.42, 172.233.64.45, 172.233.64.38",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "it-mil", "label":
- "Milan, IT", "country": "it", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.232.192.19, 172.232.192.18, 172.232.192.16, 172.232.192.20, 172.232.192.24,
- 172.232.192.21, 172.232.192.22, 172.232.192.17, 172.232.192.15, 172.232.192.23",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-mia", "label":
- "Miami, FL", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans", "Placement Group"], "status": "ok", "resolvers":
- {"ipv4": "172.233.160.34, 172.233.160.27, 172.233.160.30, 172.233.160.29, 172.233.160.32,
- 172.233.160.28, 172.233.160.33, 172.233.160.26, 172.233.160.25, 172.233.160.31",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "id-cgk", "label":
- "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.232.224.23, 172.232.224.32, 172.232.224.26, 172.232.224.27, 172.232.224.21,
- 172.232.224.24, 172.232.224.22, 172.232.224.20, 172.232.224.31, 172.232.224.28",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-lax", "label":
- "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans",
- "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers": {"ipv4":
- "172.233.128.45, 172.233.128.38, 172.233.128.53, 172.233.128.37, 172.233.128.34,
- 172.233.128.36, 172.233.128.33, 172.233.128.39, 172.233.128.43, 172.233.128.44",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "gb-lon", "label":
- "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata",
- "Premium Plans"], "status": "ok", "resolvers": {"ipv4": "172.236.0.46, 172.236.0.50,
- 172.236.0.47, 172.236.0.53, 172.236.0.52, 172.236.0.45, 172.236.0.49, 172.236.0.51,
- 172.236.0.54, 172.236.0.48", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans"], "status": "ok", "resolvers":
- {"ipv4": "172.236.32.23, 172.236.32.35, 172.236.32.30, 172.236.32.28, 172.236.32.32,
- 172.236.32.33, 172.236.32.27, 172.236.32.37, 172.236.32.29, 172.236.32.34",
- "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-central",
- "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group"], "status":
- "ok", "resolvers": {"ipv4": "72.14.179.5, 72.14.188.5, 173.255.199.5, 66.228.53.5,
- 96.126.122.5, 96.126.124.5, 96.126.127.5, 198.58.107.5, 198.58.111.5, 23.239.24.5",
- "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
- {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg": 5}, "site_type":
- "core"}, {"id": "us-west", "label": "Fremont, CA", "country": "us", "capabilities":
- ["Linodes", "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud
- Firewall", "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata",
- "Placement Group"], "status": "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5,
- 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5,
- 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label":
- "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "74.207.231.5, 173.230.128.5,
- 173.230.129.5, 173.230.136.5, 173.230.140.5, 66.228.59.5, 66.228.62.5, 50.116.35.5,
- 50.116.41.5, 23.239.18.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label":
- "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group"], "status": "ok", "resolvers": {"ipv4": "66.228.42.5, 96.126.106.5, 50.116.53.5,
- 50.116.58.5, 50.116.61.5, 50.116.62.5, 66.175.211.5, 97.107.133.4, 207.192.69.4,
- 207.192.69.5", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": 100, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-west", "label": "London, UK", "country":
- "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4":
- "178.79.182.5, 176.58.107.5, 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5,
- 212.71.253.5, 109.74.192.20, 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-south",
- "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata", "Placement Group"], "status": "ok", "resolvers": {"ipv4": "139.162.11.5,
- 139.162.13.5, 139.162.14.5, 139.162.15.5, 139.162.16.5, 139.162.21.5, 139.162.27.5,
- 103.3.60.18, 103.3.60.19, 103.3.60.20", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "eu-central",
- "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed Databases",
- "Metadata"], "status": "ok", "resolvers": {"ipv4": "139.162.130.5, 139.162.131.5,
- 139.162.132.5, 139.162.133.5, 139.162.134.5, 139.162.135.5, 139.162.136.5, 139.162.137.5,
- 139.162.138.5, 139.162.139.5", "ipv6": "1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 100,
- "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast", "label":
- "Tokyo, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers",
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata"], "status": "ok", "resolvers": {"ipv4": "139.162.66.5,
- 139.162.67.5, 139.162.68.5, 139.162.69.5, 139.162.70.5, 139.162.71.5, 139.162.72.5,
- 139.162.73.5, 139.162.74.5, 139.162.75.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages":
- 1, "results": 27}'
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -295,7 +411,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 20:02:10 GMT
+ - Thu, 28 May 2026 13:57:46 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -314,14 +430,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-vol-test-def","region":"ap-west","tags":null}'
+ body: '{"label":"go-vol-test-def","region":"au-mel","tags":null}'
form: {}
headers:
Accept:
@@ -333,11 +449,11 @@ interactions:
url: https://api.linode.com/v4beta/volumes
method: POST
response:
- body: '{"id": 4979086, "status": "creating", "label": "go-vol-test-def", "created":
+ body: '{"id": 15924020, "status": "creating", "label": "go-vol-test-def", "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
"/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 20, "linode_id":
- null, "linode_label": null, "region": "ap-west", "tags": [], "hardware_type":
- "nvme"}'
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -356,13 +472,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "318"
+ - "375"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 20:02:11 GMT
+ - Thu, 28 May 2026 13:57:47 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -385,6 +501,72 @@ interactions:
status: 200 OK
code: 200
duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/volumes/15924020
+ method: GET
+ response:
+ body: '{"id": 15924020, "status": "active", "label": "go-vol-test-def", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 20, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "373"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 28 May 2026 13:58:02 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - volumes:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
- request:
body: '{"label":"go-vol-test-def-updated"}'
form: {}
@@ -395,14 +577,14 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes/4979086
+ url: https://api.linode.com/v4beta/volumes/15924020
method: PUT
response:
- body: '{"id": 4979086, "status": "creating", "label": "go-vol-test-def-updated",
+ body: '{"id": 15924020, "status": "active", "label": "go-vol-test-def-updated",
"created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
"/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def-updated", "size": 20, "linode_id":
- null, "linode_label": null, "region": "ap-west", "tags": [], "hardware_type":
- "nvme"}'
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -421,13 +603,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "334"
+ - "389"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 20:02:11 GMT
+ - Thu, 28 May 2026 13:58:02 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -444,7 +626,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -460,7 +642,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes/4979086
+ url: https://api.linode.com/v4beta/volumes/15924020
method: DELETE
response:
body: '{}'
@@ -488,7 +670,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 11 Jul 2024 20:02:16 GMT
+ - Thu, 28 May 2026 13:58:08 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -505,7 +687,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "400"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/fixtures/TestVolume_WaitForLinodeID_nil.yaml b/test/integration/fixtures/TestVolume_WaitForLinodeID_nil.yaml
index 34fc6fcdb..791fad5d9 100644
--- a/test/integration/fixtures/TestVolume_WaitForLinodeID_nil.yaml
+++ b/test/integration/fixtures/TestVolume_WaitForLinodeID_nil.yaml
@@ -14,282 +14,381 @@ interactions:
url: https://api.linode.com/v4beta/regions?page=1
method: GET
response:
- body: '{"data": [{"id": "ap-west", "label": "Mumbai, IN", "country": "in", "capabilities":
- ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts"], "status":
- "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
+ body: '{"data": [{"id": "au-mel", "label": "Melbourne, AU", "country": "au", "capabilities":
+ ["Linodes", "Block Storage Encryption", "LA Disk Encryption", "Disk Encryption",
+ "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed
+ Databases", "Metadata", "Premium Plans", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, CA", "country":
- "ca", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts"], "status":
- "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "es-mad",
+ "label": "Madrid, ES", "country": "es", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, AU", "country":
- "au", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
- "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts"], "status":
- "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-maa",
+ "label": "Chennai, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-iad", "label": "Washington, DC", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-osa",
+ "label": "Osaka, JP", "country": "jp", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-ord", "label": "Chicago, IL", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers":
- {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "it-mil",
+ "label": "Milan, IT", "country": "it", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "fr-par", "label": "Paris, FR", "country":
- "fr", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers":
- {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-mia",
+ "label": "Miami, FL", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces"],
+ "monitors": {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed
+ Databases", "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-sea", "label": "Seattle, WA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "id-cgk",
+ "label": "Jakarta, ID", "country": "id", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "br-gru", "label": "Sao Paulo, BR", "country":
- "br", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts"], "status": "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-lax",
+ "label": "Los Angeles, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nl-ams", "label": "Amsterdam, NL", "country":
- "nl", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "gb-lon",
+ "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "se-sto", "label": "Stockholm, SE", "country":
- "se", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4":
- "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "se-sto",
+ "label": "Stockholm, SE", "country": "se", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.128.24,172.232.128.26,172.232.128.20,172.232.128.22,172.232.128.25,172.232.128.19,172.232.128.23,172.232.128.18,172.232.128.21,172.232.128.27",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "es-mad", "label": "Madrid, ES", "country":
- "es", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts"], "status": "ok", "resolvers": {"ipv4": "172.233.111.6,172.233.111.17,172.233.111.21,172.233.111.25,172.233.111.19,172.233.111.12,172.233.111.26,172.233.111.16,172.233.111.18,172.233.111.9",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "in-bom-2",
+ "label": "Mumbai 2, IN", "country": "in", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-maa", "label": "Chennai, IN", "country":
- "in", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U"], "status": "ok",
- "resolvers": {"ipv4": "172.232.96.17,172.232.96.26,172.232.96.19,172.232.96.20,172.232.96.25,172.232.96.21,172.232.96.18,172.232.96.22,172.232.96.23,172.232.96.24",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "de-fra-2",
+ "label": "Frankfurt 2, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "NETINT Quadra T1U", "Maintenance Policy", "Linode Interfaces",
+ "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers",
+ "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-osa", "label": "Osaka, JP", "country":
- "jp", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers":
- {"ipv4": "172.233.64.44,172.233.64.43,172.233.64.37,172.233.64.40,172.233.64.46,172.233.64.41,172.233.64.39,172.233.64.42,172.233.64.45,172.233.64.38",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "sg-sin-2",
+ "label": "Singapore 2, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "it-mil", "label": "Milan, IT", "country":
- "it", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts"], "status": "ok", "resolvers": {"ipv4": "172.232.192.19,172.232.192.18,172.232.192.16,172.232.192.20,172.232.192.24,172.232.192.21,172.232.192.22,172.232.192.17,172.232.192.15,172.232.192.23",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "jp-tyo-3",
+ "label": "Tokyo 3, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-mia", "label": "Miami, FL", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium
- Plans", "Placement Group", "StackScripts", "NETINT Quadra T1U"], "status": "ok",
- "resolvers": {"ipv4": "172.233.160.34,172.233.160.27,172.233.160.30,172.233.160.29,172.233.160.32,172.233.160.28,172.233.160.33,172.233.160.26,172.233.160.25,172.233.160.31",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "no-osl-1",
+ "label": "Oslo, NO", "country": "no", "capabilities": ["Linodes", "Block Storage
+ Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.238.140.33,172.238.140.25,172.238.140.30,172.238.140.31,172.238.140.26,172.238.140.28,172.238.140.34,172.238.140.32,172.238.140.27,172.238.140.29",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "id-cgk", "label": "Jakarta, ID", "country":
- "id", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts"], "status": "ok", "resolvers": {"ipv4": "172.232.224.23,172.232.224.32,172.232.224.26,172.232.224.27,172.232.224.21,172.232.224.24,172.232.224.22,172.232.224.20,172.232.224.31,172.232.224.28",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad-2",
+ "label": "Washington 2, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
+ "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers",
+ "Object Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object
+ Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.142.102,172.239.142.89,172.239.142.92,172.239.142.87,172.239.142.88,172.239.142.103,172.239.142.91,172.239.142.90,172.239.142.86,172.239.142.100",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-lax", "label": "Los Angeles, CA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
- "Cloud Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U"], "status": "ok", "resolvers": {"ipv4":
- "172.233.128.45,172.233.128.38,172.233.128.53,172.233.128.37,172.233.128.34,172.233.128.36,172.233.128.33,172.233.128.39,172.233.128.43,172.233.128.44",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "nz-akl-1", "label": "Auckland, NZ", "country":
- "nz", "capabilities": ["Linodes", "Cloud Firewall", "Vlans", "Metadata", "Distributed
- Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "us-den-1",
- "label": "Denver, CO", "country": "us", "capabilities": ["Linodes", "Cloud Firewall",
- "Vlans", "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4":
- "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "distributed"}, {"id": "de-ham-1", "label": "Hamburg, DE",
- "country": "de", "capabilities": ["Linodes", "Cloud Firewall", "Vlans", "Metadata",
- "Distributed Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "fr-mrs-1",
- "label": "Marseille, FR", "country": "fr", "capabilities": ["Linodes", "Cloud
- Firewall", "Vlans", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "distributed"}, {"id": "za-jnb-1", "label": "Johannesburg,
- ZA", "country": "za", "capabilities": ["Linodes", "Cloud Firewall", "Vlans",
- "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "co-bog-1",
- "label": "Bogot\u00e1, CO", "country": "co", "capabilities": ["Linodes", "Cloud
- Firewall", "Vlans", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "distributed"}, {"id": "mx-qro-1", "label": "Quer\u00e9taro,
- MX", "country": "mx", "capabilities": ["Linodes", "Cloud Firewall", "Vlans",
- "Metadata", "Distributed Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "us-hou-1",
- "label": "Houston, TX", "country": "us", "capabilities": ["Linodes", "Cloud
- Firewall", "Vlans", "Metadata", "Distributed Plans"], "status": "ok", "resolvers":
- {"ipv4": "173.223.100.53,173.223.101.53", "ipv6": "1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "distributed"}, {"id": "cl-scl-1", "label": "Santiago, CL",
- "country": "cl", "capabilities": ["Linodes", "Cloud Firewall", "Vlans", "Metadata",
- "Distributed Plans"], "status": "ok", "resolvers": {"ipv4": "173.223.100.53,173.223.101.53",
- "ipv6": "1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "distributed"}, {"id": "gb-lon",
- "label": "London 2, UK", "country": "gb", "capabilities": ["Linodes", "Block
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par-2",
+ "label": "Paris 2, FR", "country": "fr", "capabilities": ["Linodes", "Block
Storage Encryption", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata",
- "Premium Plans", "Placement Group", "StackScripts"], "status": "ok", "resolvers":
- {"ipv4": "172.236.0.46,172.236.0.50,172.236.0.47,172.236.0.53,172.236.0.52,172.236.0.45,172.236.0.49,172.236.0.51,172.236.0.54,172.236.0.48",
+ "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "Cloud Firewall", "Vlans",
+ "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases", "Metadata",
+ "Premium Plans", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed Databases",
+ "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers": {"ipv4": "172.239.11.24,172.239.11.22,172.239.11.17,172.239.11.20,172.239.11.23,172.239.11.19,172.239.11.21,172.239.11.15,172.239.11.16,172.239.11.18",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "au-mel", "label": "Melbourne, AU", "country":
- "au", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans", "Placement
- Group", "StackScripts", "NETINT Quadra T1U"], "status": "ok", "resolvers": {"ipv4":
- "172.236.32.23,172.236.32.35,172.236.32.30,172.236.32.28,172.236.32.32,172.236.32.33,172.236.32.27,172.236.32.37,172.236.32.29,172.236.32.34",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "nl-ams",
+ "label": "Amsterdam, NL", "country": "nl", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.233.33.36,172.233.33.38,172.233.33.35,172.233.33.39,172.233.33.34,172.233.33.33,172.233.33.31,172.233.33.30,172.233.33.37,172.233.33.32",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "in-bom-2", "label": "Mumbai 2, IN", "country":
- "in", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Cloud Firewall", "Vlans", "VPCs",
- "Metadata", "Premium Plans", "Placement Group", "StackScripts"], "status": "ok",
- "resolvers": {"ipv4": "172.236.171.41,172.236.171.42,172.236.171.25,172.236.171.44,172.236.171.26,172.236.171.45,172.236.171.24,172.236.171.43,172.236.171.27,172.236.171.28",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-west",
+ "label": "Mumbai, IN", "country": "in", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "de-fra-2", "label": "Frankfurt 2, DE", "country":
- "de", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes", "Cloud
- Firewall", "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group",
- "StackScripts", "NETINT Quadra T1U"], "status": "ok", "resolvers": {"ipv4":
- "172.236.203.9,172.236.203.16,172.236.203.19,172.236.203.15,172.236.203.17,172.236.203.11,172.236.203.18,172.236.203.14,172.236.203.13,172.236.203.12",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ca-central",
+ "label": "Toronto, CA", "country": "ca", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
+ Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed
+ Databases", "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "sg-sin-2", "label": "Singapore 2, SG", "country":
- "sg", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes", "Cloud
- Firewall", "Vlans", "VPCs", "Managed Databases", "Metadata", "Premium Plans",
- "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4": "172.236.129.8,172.236.129.42,172.236.129.41,172.236.129.19,172.236.129.46,172.236.129.23,172.236.129.48,172.236.129.20,172.236.129.21,172.236.129.47",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-southeast",
+ "label": "Sydney, AU", "country": "au", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "jp-tyo-3", "label": "Tokyo 3, JP", "country":
- "jp", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
- "Vlans", "VPCs", "Metadata", "Premium Plans", "Placement Group", "StackScripts"],
- "status": "ok", "resolvers": {"ipv4": "172.237.4.15,172.237.4.19,172.237.4.17,172.237.4.21,172.237.4.16,172.237.4.18,172.237.4.23,172.237.4.24,172.237.4.20,172.237.4.14",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-iad",
+ "label": "Washington, DC", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces", "ACLP Logs Datacenter LKE-E"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Linodes",
+ "Managed Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-ord",
+ "label": "Chicago, IL", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.0.17,172.232.0.16,172.232.0.21,172.232.0.13,172.232.0.22,172.232.0.9,172.232.0.19,172.232.0.20,172.232.0.15,172.232.0.18",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "fr-par",
+ "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts":
+ ["Managed Databases", "NodeBalancers", "Object Storage"], "metrics": ["Managed
+ Databases", "NodeBalancers", "Object Storage"]}, "status": "ok", "resolvers":
+ {"ipv4": "172.232.32.21,172.232.32.23,172.232.32.17,172.232.32.18,172.232.32.16,172.232.32.22,172.232.32.20,172.232.32.14,172.232.32.11,172.232.32.12",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX", "country":
- "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-sea",
+ "label": "Seattle, WA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes
+ Enterprise", "Cloud Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6
+ Stack", "Managed Databases", "Metadata", "Premium Plans", "Placement Group",
+ "StackScripts", "Maintenance Policy", "Linode Interfaces", "ACLP Logs Datacenter
+ LKE-E"], "monitors": {"alerts": ["Managed Databases", "NodeBalancers", "Object
+ Storage"], "metrics": ["Managed Databases", "NodeBalancers", "Object Storage"]},
+ "status": "ok", "resolvers": {"ipv4": "172.232.160.19,172.232.160.21,172.232.160.17,172.232.160.15,172.232.160.18,172.232.160.8,172.232.160.12,172.232.160.11,172.232.160.14,172.232.160.16",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "br-gru",
+ "label": "Sao Paulo, BR", "country": "br", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "Cloud
+ Firewall", "Vlans", "VPCs", "VPC Dual Stack", "VPC IPv6 Stack", "Managed Databases",
+ "Metadata", "Premium Plans", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "172.233.0.4,172.233.0.9,172.233.0.7,172.233.0.12,172.233.0.5,172.233.0.13,172.233.0.10,172.233.0.6,172.233.0.8,172.233.0.11",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-central",
+ "label": "Dallas, TX", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts"], "status":
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
"ok", "resolvers": {"ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA", "country":
- "us", "capabilities": ["Linodes", "Block Storage Encryption", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Kubernetes", "Cloud Firewall",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-northeast",
+ "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-central",
+ "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
"Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
- Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4": "173.230.145.5,
- 173.230.147.5, 173.230.155.5, 173.255.212.5, 173.255.219.5, 173.255.241.5, 173.255.243.5,
- 173.255.244.5, 74.207.241.5, 74.207.242.5", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
- "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Disk Encryption",
- "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Managed
- Databases", "Metadata", "Placement Group", "StackScripts"], "status": "ok",
- "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ", "country":
- "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts"],
- "status": "ok", "resolvers": {"ipv4": "66.228.42.5, 96.126.106.5, 50.116.53.5,
- 50.116.58.5, 50.116.61.5, 50.116.62.5, 66.175.211.5, 97.107.133.4, 207.192.69.4,
- 207.192.69.5", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-west", "label": "London, UK", "country":
- "gb", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata",
- "Placement Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4": "178.79.182.5,
- 176.58.107.5, 176.58.116.5, 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5,
- 109.74.192.20, 109.74.193.20, 109.74.194.20", "ipv6": "1234::5678, 1234::5678,
- 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
- 1234::5678, 1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer":
- null, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-south",
- "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups",
- "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes",
- "Cloud Firewall", "Vlans", "Block Storage Migrations", "Metadata", "Placement
- Group", "StackScripts"], "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country":
- "de", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Block Storage",
- "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Vlans", "Block
- Storage Migrations", "Managed Databases", "Metadata", "Placement Group", "StackScripts"],
- "status": "ok", "resolvers": {"ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5",
- "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
- "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country":
- "jp", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers",
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "ap-south",
+ "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Metadata", "Placement Group", "StackScripts",
+ "Maintenance Policy", "Linode Interfaces"], "monitors": {"alerts": ["NodeBalancers"],
+ "metrics": ["NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "eu-west",
+ "label": "London, UK", "country": "gb", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
"Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
- "Managed Databases", "Metadata", "Placement Group", "StackScripts"], "status":
- "ok", "resolvers": {"ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5",
+ "Metadata", "Placement Group", "StackScripts", "Maintenance Policy", "Linode
+ Interfaces"], "monitors": {"alerts": ["NodeBalancers"], "metrics": ["NodeBalancers"]},
+ "status": "ok", "resolvers": {"ipv4": "178.79.182.5, 176.58.107.5, 176.58.116.5,
+ 176.58.121.5, 151.236.220.5, 212.71.252.5, 212.71.253.5, 109.74.192.20, 109.74.193.20,
+ 109.74.194.20", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-east",
+ "label": "Newark, NJ", "country": "us", "capabilities": ["Linodes", "Block Storage
+ Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,173.255.225.5,66.228.35.5",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
"placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
- 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 40}'
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-southeast",
+ "label": "Atlanta, GA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Block Storage Migrations", "Managed Databases", "Metadata", "Placement
+ Group", "StackScripts", "Maintenance Policy", "Linode Interfaces"], "monitors":
+ {"alerts": ["Managed Databases", "NodeBalancers"], "metrics": ["Managed Databases",
+ "NodeBalancers"]}, "status": "ok", "resolvers": {"ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5",
+ "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"},
+ "placement_group_limits": {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg":
+ 5, "maximum_linodes_per_flexible_pg": 5}, "site_type": "core"}, {"id": "us-west",
+ "label": "Fremont, CA", "country": "us", "capabilities": ["Linodes", "Block
+ Storage Encryption", "LA Disk Encryption", "Disk Encryption", "Backups", "NodeBalancers",
+ "Block Storage", "Kubernetes", "Cloud Firewall", "Vlans", "Block Storage Migrations",
+ "Managed Databases", "Metadata", "Placement Group", "StackScripts", "Maintenance
+ Policy", "Linode Interfaces"], "monitors": {"alerts": ["Managed Databases",
+ "NodeBalancers"], "metrics": ["Managed Databases", "NodeBalancers"]}, "status":
+ "ok", "resolvers": {"ipv4": "173.230.145.5, 173.230.147.5, 173.230.155.5, 173.255.212.5,
+ 173.255.219.5, 173.255.241.5, 173.255.243.5, 173.255.244.5, 74.207.241.5, 74.207.242.5",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678,
+ 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}, "placement_group_limits":
+ {"maximum_pgs_per_customer": null, "maximum_linodes_per_pg": 5, "maximum_linodes_per_flexible_pg":
+ 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 34}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -312,7 +411,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 28 Nov 2024 05:52:20 GMT
+ - Thu, 28 May 2026 14:18:59 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -331,14 +430,14 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
code: 200
duration: ""
- request:
- body: '{"label":"go-vol-test-def","region":"ap-west","tags":null}'
+ body: '{"label":"go-vol-test-def","region":"au-mel","tags":null}'
form: {}
headers:
Accept:
@@ -350,11 +449,11 @@ interactions:
url: https://api.linode.com/v4beta/volumes
method: POST
response:
- body: '{"id": 7301557, "status": "creating", "label": "go-vol-test-def", "created":
+ body: '{"id": 15924313, "status": "creating", "label": "go-vol-test-def", "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
"/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 20, "linode_id":
- null, "linode_label": null, "region": "ap-west", "tags": [], "hardware_type":
- "nvme", "encryption": "disabled"}'
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -373,13 +472,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "344"
+ - "375"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 28 Nov 2024 05:52:20 GMT
+ - Thu, 28 May 2026 14:18:59 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -412,14 +511,80 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes/7301557
+ url: https://api.linode.com/v4beta/volumes/15924313
+ method: GET
+ response:
+ body: '{"id": 15924313, "status": "active", "label": "go-vol-test-def", "created":
+ "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
+ "/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 20, "linode_id":
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
+ headers:
+ Access-Control-Allow-Credentials:
+ - "true"
+ Access-Control-Allow-Headers:
+ - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter
+ Access-Control-Allow-Methods:
+ - HEAD, GET, OPTIONS, POST, PUT, DELETE
+ Access-Control-Allow-Origin:
+ - '*'
+ Access-Control-Expose-Headers:
+ - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status
+ Akamai-Internal-Account:
+ - '*'
+ Cache-Control:
+ - max-age=0, no-cache, no-store
+ Connection:
+ - keep-alive
+ Content-Length:
+ - "373"
+ Content-Security-Policy:
+ - default-src 'none'
+ Content-Type:
+ - application/json
+ Expires:
+ - Thu, 28 May 2026 14:19:15 GMT
+ Pragma:
+ - no-cache
+ Strict-Transport-Security:
+ - max-age=31536000
+ Vary:
+ - Authorization, X-Filter
+ - Authorization, X-Filter
+ X-Accepted-Oauth-Scopes:
+ - volumes:read_only
+ X-Content-Type-Options:
+ - nosniff
+ X-Frame-Options:
+ - DENY
+ - DENY
+ X-Oauth-Scopes:
+ - '*'
+ X-Ratelimit-Limit:
+ - "1840"
+ X-Xss-Protection:
+ - 1; mode=block
+ status: 200 OK
+ code: 200
+ duration: ""
+- request:
+ body: ""
+ form: {}
+ headers:
+ Accept:
+ - application/json
+ Content-Type:
+ - application/json
+ User-Agent:
+ - linodego/dev https://github.com/linode/linodego
+ url: https://api.linode.com/v4beta/volumes/15924313
method: GET
response:
- body: '{"id": 7301557, "status": "active", "label": "go-vol-test-def", "created":
+ body: '{"id": 15924313, "status": "active", "label": "go-vol-test-def", "created":
"2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path":
"/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test-def", "size": 20, "linode_id":
- null, "linode_label": null, "region": "ap-west", "tags": [], "hardware_type":
- "nvme", "encryption": "disabled"}'
+ null, "linode_label": null, "io_ready": false, "region": "au-mel", "tags": [],
+ "hardware_type": "nvme", "encryption": "enabled", "locks": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -438,13 +603,13 @@ interactions:
Connection:
- keep-alive
Content-Length:
- - "342"
+ - "373"
Content-Security-Policy:
- default-src 'none'
Content-Type:
- application/json
Expires:
- - Thu, 28 Nov 2024 05:52:35 GMT
+ - Thu, 28 May 2026 14:19:30 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -462,7 +627,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
@@ -478,7 +643,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/volumes/7301557
+ url: https://api.linode.com/v4beta/volumes/15924313
method: DELETE
response:
body: '{}'
@@ -506,7 +671,7 @@ interactions:
Content-Type:
- application/json
Expires:
- - Thu, 28 Nov 2024 05:52:40 GMT
+ - Thu, 28 May 2026 14:19:36 GMT
Pragma:
- no-cache
Strict-Transport-Security:
@@ -523,7 +688,7 @@ interactions:
X-Oauth-Scopes:
- '*'
X-Ratelimit-Limit:
- - "1600"
+ - "1840"
X-Xss-Protection:
- 1; mode=block
status: 200 OK
diff --git a/test/integration/iam_io_ready_test.go b/test/integration/iam_io_ready_test.go
index 2b06675ac..a09f40105 100644
--- a/test/integration/iam_io_ready_test.go
+++ b/test/integration/iam_io_ready_test.go
@@ -3,8 +3,9 @@ package integration
import (
"context"
"testing"
+ "time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -21,6 +22,7 @@ func findVolumeByID(volumes []linodego.Volume, id int) linodego.Volume {
func setupVolumeAttachedToLinode(
t *testing.T,
+ ctx context.Context,
fixturesYaml string,
detachVolume bool,
) (*linodego.Client, *linodego.Volume, *linodego.Instance, func()) {
@@ -39,7 +41,7 @@ func setupVolumeAttachedToLinode(
require.NoErrorf(t, err, "Error deleting instance: %v", err)
}
- instance, err = client.WaitForInstanceStatus(context.Background(), instance.ID, linodego.InstanceRunning, 180)
+ instance, err = client.WaitForInstanceStatus(ctx, instance.ID, linodego.InstanceRunning)
require.NoErrorf(t, err, "Error waiting for instance to be running: %v", err)
volume, teardownVolume, err := createVolume(t, client, func(l *linodego.Client, options *linodego.VolumeCreateOptions) {
@@ -51,15 +53,19 @@ func setupVolumeAttachedToLinode(
volume, err = client.AttachVolume(context.Background(), volume.ID, &linodego.VolumeAttachOptions{LinodeID: instance.ID})
require.NoErrorf(t, err, "Error attaching volume to instance: %v", err)
- volume, err = client.WaitForVolumeIOReadyStatus(context.Background(), volume.ID, true, 45)
+ volume, err = client.WaitForVolumeIOReadyStatus(ctx, volume.ID, true)
require.NoErrorf(t, err, "Error waiting for IO Ready status of attached volume: %v", err)
teardown := func() {
if detachVolume {
- err = client.DetachVolume(context.Background(), volume.ID)
+ // Use a fresh context here because the context returned by t.Context() is canceled before t.Cleanup callbacks run.
+ cleanupCtx, cancel := context.WithTimeout(context.Background(), 45*time.Second)
+ defer cancel()
+
+ err = client.DetachVolume(cleanupCtx, volume.ID)
require.NoErrorf(t, err, "Error detaching volume: %v", err)
- _, err = client.WaitForVolumeIOReadyStatus(context.Background(), volume.ID, false, 45)
+ _, err = client.WaitForVolumeIOReadyStatus(cleanupCtx, volume.ID, false)
require.NoErrorf(t, err, "Error waiting for IO Ready status of detached volume: %v", err)
}
teardownVolume()
@@ -96,6 +102,8 @@ func requireSingleAttachedInstanceVolume(t *testing.T, client *linodego.Client,
}
func TestIAM_GetIOReadyForNotAttachedVolume(t *testing.T) {
+ ctx := waitContext(t, 30*time.Second)
+
client, recordStopper := createTestClient(t, "fixtures/TestIAM_GetIOReadyForNotAttachedVolume")
t.Cleanup(recordStopper)
@@ -105,7 +113,7 @@ func TestIAM_GetIOReadyForNotAttachedVolume(t *testing.T) {
t.Cleanup(teardown)
require.NoErrorf(t, err, "Error creating not attached volume: %v", err)
- volume, err = client.WaitForVolumeStatus(context.Background(), volume.ID, linodego.VolumeActive, 30)
+ volume, err = client.WaitForVolumeStatus(ctx, volume.ID, linodego.VolumeActive)
require.NoErrorf(t, err, "Error waiting for volume to be active: %v", err)
volumeList, err := client.ListVolumes(context.Background(), nil)
@@ -128,7 +136,9 @@ func TestIAM_GetIOReadyForNotAttachedVolume(t *testing.T) {
}
func TestIAM_GetIOReadyForAttachedDetachedVolume(t *testing.T) {
- client, volume, instance, teardown := setupVolumeAttachedToLinode(t, "fixtures/TestIAM_GetIOReadyForAttachedDetachedVolume", false)
+ ctx := waitContext(t, 270*time.Second)
+
+ client, volume, instance, teardown := setupVolumeAttachedToLinode(t, ctx, "fixtures/TestIAM_GetIOReadyForAttachedDetachedVolume", false)
t.Cleanup(teardown)
requireSingleAttachedInstanceVolume(t, client, instance)
@@ -139,7 +149,7 @@ func TestIAM_GetIOReadyForAttachedDetachedVolume(t *testing.T) {
err = client.DetachVolume(context.Background(), volume.ID)
require.NoErrorf(t, err, "Error detaching volume: %v", err)
- _, err = client.WaitForVolumeIOReadyStatus(context.Background(), volume.ID, false, 45)
+ _, err = client.WaitForVolumeIOReadyStatus(ctx, volume.ID, false)
require.NoErrorf(t, err, "Error waiting for IO Ready status of detached volume: %v", err)
instanceVolumes, err := client.ListInstanceVolumes(context.Background(), instance.ID, nil)
@@ -154,7 +164,9 @@ func TestIAM_GetIOReadyForAttachedDetachedVolume(t *testing.T) {
}
func TestIAM_GetIOReadyForUpdatedVolume(t *testing.T) {
- client, volume, instance, teardown := setupVolumeAttachedToLinode(t, "fixtures/TestIAM_GetIOReadyForUpdatedVolume", true)
+ ctx := waitContext(t, 270*time.Second)
+
+ client, volume, instance, teardown := setupVolumeAttachedToLinode(t, ctx, "fixtures/TestIAM_GetIOReadyForUpdatedVolume", true)
t.Cleanup(teardown)
assertVolumeAttachedToInstance(t, volume, instance)
assert.NotContains(t, "-updated", volume.Label)
@@ -165,7 +177,7 @@ func TestIAM_GetIOReadyForUpdatedVolume(t *testing.T) {
updateOpts := linodego.VolumeUpdateOptions{
Label: labelUpdated,
- Tags: &tagsUpdated,
+ Tags: tagsUpdated,
}
volume, err := client.UpdateVolume(context.Background(), volume.ID, updateOpts)
require.NoErrorf(t, err, "Error updating volume: %v", err)
@@ -182,12 +194,15 @@ func TestIAM_GetIOReadyForUpdatedVolume(t *testing.T) {
}
func TestIAM_GetIOReadyForClonedVolume(t *testing.T) {
- client, volume, instance, teardown := setupVolumeAttachedToLinode(t, "fixtures/TestIAM_GetIOReadyForClonedVolume", true)
+ ctx := waitContext(t, 300*time.Second)
+
+ client, volume, instance, teardown := setupVolumeAttachedToLinode(t, ctx, "fixtures/TestIAM_GetIOReadyForClonedVolume", true)
t.Cleanup(teardown)
requireSingleAttachedInstanceVolume(t, client, instance)
labelCloned := volume.Label + "-cloned"
- volumeCloned, err := client.CloneVolume(context.Background(), volume.ID, labelCloned)
+ opts := linodego.VolumeCloneOptions{Label: labelCloned}
+ volumeCloned, err := client.CloneVolume(context.Background(), volume.ID, opts)
t.Cleanup(func() {
if err = client.DeleteVolume(context.Background(), volumeCloned.ID); err != nil {
t.Errorf("Error deleting cloned volume: %v", err)
@@ -195,7 +210,7 @@ func TestIAM_GetIOReadyForClonedVolume(t *testing.T) {
})
require.NoErrorf(t, err, "Error cloning volume: %v", err)
- _, err = client.WaitForVolumeStatus(context.Background(), volumeCloned.ID, linodego.VolumeActive, 30)
+ _, err = client.WaitForVolumeStatus(ctx, volumeCloned.ID, linodego.VolumeActive)
require.NoErrorf(t, err, "Error waiting for IO Ready status of attached volume: %v", err)
volumeCloned, err = client.GetVolume(context.Background(), volumeCloned.ID)
@@ -212,16 +227,19 @@ func TestIAM_GetIOReadyForClonedVolume(t *testing.T) {
}
func TestIAM_GetIOReadyForResizedVolume(t *testing.T) {
- client, volume, instance, teardown := setupVolumeAttachedToLinode(t, "fixtures/TestIAM_GetIOReadyForResizedVolume", true)
+ ctx := waitContext(t, 300*time.Second)
+
+ client, volume, instance, teardown := setupVolumeAttachedToLinode(t, ctx, "fixtures/TestIAM_GetIOReadyForResizedVolume", true)
t.Cleanup(teardown)
assertVolumeAttachedToInstance(t, volume, instance)
newSize := volume.Size + 10
- err := client.ResizeVolume(context.Background(), volume.ID, newSize)
+ opts := linodego.VolumeResizeOptions{Size: newSize}
+ err := client.ResizeVolume(context.Background(), volume.ID, opts)
require.NoErrorf(t, err, "Error resizing volume: %v", err)
- _, err = client.WaitForVolumeStatus(context.Background(), volume.ID, linodego.VolumeActive, 30)
+ _, err = client.WaitForVolumeStatus(ctx, volume.ID, linodego.VolumeActive)
require.NoErrorf(t, err, "Error waiting for volume to be active: %v", err)
instanceVolume := requireSingleAttachedInstanceVolume(t, client, instance)
diff --git a/test/integration/image_sharegroups_test.go b/test/integration/image_sharegroups_test.go
index 11dfb78eb..c497a74c4 100644
--- a/test/integration/image_sharegroups_test.go
+++ b/test/integration/image_sharegroups_test.go
@@ -5,16 +5,19 @@ import (
"fmt"
"slices"
"testing"
+ "time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/require"
)
func TestImageSharing_Suite(t *testing.T) {
+ ctx := waitContext(t, 600*time.Second)
+
client, instance, teardown, err := setupInstance(
t, "fixtures/TestImageSharing_Suite", true,
func(client *linodego.Client, options *linodego.InstanceCreateOptions) {
- options.Region = getRegionsWithCaps(t, client, []string{"Linodes"})[0]
+ options.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes})[0]
options.Image = "linode/alpine3.22"
})
if err != nil {
@@ -42,7 +45,7 @@ func TestImageSharing_Suite(t *testing.T) {
require.NoError(t, err)
})
- _, err = client.WaitForImageStatus(context.Background(), image.ID, linodego.ImageStatusAvailable, 600)
+ _, err = client.WaitForImageStatus(ctx, image.ID, linodego.ImageStatusAvailable)
require.NoError(t, err)
if image.IsShared {
diff --git a/test/integration/images_test.go b/test/integration/images_test.go
index 8abb13c75..75b24127e 100644
--- a/test/integration/images_test.go
+++ b/test/integration/images_test.go
@@ -5,9 +5,11 @@ import (
"context"
"slices"
"testing"
+ "time"
"github.com/dnaeon/go-vcr/recorder"
- . "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
+ . "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -68,6 +70,8 @@ func TestImages_List_smoke(t *testing.T) {
}
func TestImage_Upload(t *testing.T) {
+ ctx := waitContext(t, 300*time.Second)
+
client, teardown := createTestClient(t, "fixtures/TestImage_Upload")
defer teardown()
@@ -89,7 +93,7 @@ func TestImage_Upload(t *testing.T) {
t.Errorf("Expected upload URL, got none")
}
- if _, err := client.WaitForImageStatus(context.Background(), image.ID, ImageStatusPendingUpload, 60); err != nil {
+ if _, err := client.WaitForImageStatus(ctx, image.ID, ImageStatusPendingUpload); err != nil {
t.Errorf("Failed to wait for image pending upload status: %v", err)
}
@@ -100,7 +104,7 @@ func TestImage_Upload(t *testing.T) {
}
}
- if _, err := client.WaitForImageStatus(context.Background(), image.ID, ImageStatusAvailable, 240); err != nil {
+ if _, err := client.WaitForImageStatus(ctx, image.ID, ImageStatusAvailable); err != nil {
t.Errorf("Failed to wait for image available upload status: %v", err)
}
}
@@ -110,12 +114,12 @@ func TestImage_CreateUpload(t *testing.T) {
defer teardown()
image, uploadURL, err := client.CreateImageUpload(context.Background(), ImageCreateUploadOptions{
- Region: getRegionsWithCaps(t, client, []string{"Metadata"})[0],
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityMetadata})[0],
Label: "linodego-image-create-upload",
Description: "An image that does stuff.",
CloudInit: true,
- Tags: &[]string{"foo", "bar"},
+ Tags: []string{"foo", "bar"},
})
if err != nil {
t.Errorf("Failed to create image upload: %v", err)
@@ -139,7 +143,7 @@ func TestImage_CloudInit(t *testing.T) {
client, instance, teardown, err := setupInstance(
t, "fixtures/TestImage_CloudInit", true,
func(client *Client, options *InstanceCreateOptions) {
- options.Region = getRegionsWithCaps(t, client, []string{"Metadata"})[0]
+ options.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityMetadata})[0]
})
if err != nil {
t.Fatal(err)
@@ -159,7 +163,7 @@ func TestImage_CloudInit(t *testing.T) {
DiskID: instanceDisks[0].ID,
Label: "linodego-test-cloud-init",
CloudInit: true,
- Tags: &[]string{"test1", "test2"},
+ Tags: []string{"test1", "test2"},
})
if err != nil {
t.Errorf("Failed to create image: %v", err)
@@ -177,10 +181,12 @@ func TestImage_CloudInit(t *testing.T) {
}
func TestImage_Replicate(t *testing.T) {
+ ctx := waitContext(t, 460*time.Second)
+
client, teardown := createTestClient(t, "fixtures/TestImage_Replicate")
defer teardown()
- availableRegions := getRegionsWithCapsAndSiteType(t, client, []string{"Object Storage"}, "core")
+ availableRegions := getRegionsWithCapsAndSiteType(t, client, []linodego.RegionCapability{linodego.CapabilityObjectStorage}, "core")
image, uploadURL, err := client.CreateImageUpload(context.Background(), ImageCreateUploadOptions{
Region: availableRegions[1],
@@ -200,7 +206,7 @@ func TestImage_Replicate(t *testing.T) {
t.Errorf("Expected upload URL, got none")
}
- if _, err := client.WaitForImageStatus(context.Background(), image.ID, ImageStatusPendingUpload, 60); err != nil {
+ if _, err := client.WaitForImageStatus(ctx, image.ID, ImageStatusPendingUpload); err != nil {
t.Errorf("Failed to wait for image pending upload status: %v", err)
}
@@ -211,7 +217,7 @@ func TestImage_Replicate(t *testing.T) {
}
}
- if _, err := client.WaitForImageStatus(context.Background(), image.ID, ImageStatusAvailable, 400); err != nil {
+ if _, err := client.WaitForImageStatus(ctx, image.ID, ImageStatusAvailable); err != nil {
t.Errorf("Failed to wait for image available upload status: %v", err)
}
diff --git a/test/integration/instance_config_test.go b/test/integration/instance_config_test.go
index 918ce153a..4d53ea4d2 100644
--- a/test/integration/instance_config_test.go
+++ b/test/integration/instance_config_test.go
@@ -4,8 +4,10 @@ import (
"context"
"reflect"
"testing"
+ "time"
- . "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
+ . "github.com/linode/linodego/v2"
"github.com/stretchr/testify/require"
)
@@ -68,7 +70,10 @@ func setupInstanceWithVPCAndNATOneToOne(t *testing.T, fixturesYaml string) (
t,
fixturesYaml,
func(client *Client, opts *InstanceCreateOptions) {
- opts.Region = getRegionsWithCaps(t, client, []string{"Linodes", "VPCs"})[0]
+ opts.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{
+ linodego.CapabilityLinodes,
+ linodego.CapabilityVPCs,
+ })[0]
},
)
if err != nil {
@@ -84,7 +89,7 @@ func setupInstanceWithVPCAndNATOneToOne(t *testing.T, fixturesYaml string) (
{
Purpose: InterfacePurposeVPC,
SubnetID: &vpcSubnet.ID,
- IPv4: &VPCIPv4{
+ IPv4: &VPCIPv4CreateOptions{
NAT1To1: &NAT1To1Any,
},
},
@@ -160,7 +165,8 @@ func setupInstanceWithDualStackVPCAndNAT11(t *testing.T, fixturesYaml string) (
// TODO: Revert once rolled out to all DCs.
// NOTE: There is currently no VPC Dual Stack region capability
// so this needs to be hardcoded.
- // opts.Region = getRegionsWithCaps(t, client, []string{"Linodes", "VPCs"})[0]
+ // opts.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes,
+ // linodego.CapabilityVPCs})[0]
opts.Region = "no-osl-1"
},
)
@@ -177,7 +183,7 @@ func setupInstanceWithDualStackVPCAndNAT11(t *testing.T, fixturesYaml string) (
{
Purpose: InterfacePurposeVPC,
SubnetID: &vpcSubnet.ID,
- IPv4: &VPCIPv4{
+ IPv4: &VPCIPv4CreateOptions{
NAT1To1: &NAT1To1Any,
},
IPv6: &InstanceConfigInterfaceCreateOptionsIPv6{
@@ -212,7 +218,10 @@ func setupInstanceWith3Interfaces(t *testing.T, fixturesYaml string) (
t,
fixturesYaml,
func(client *Client, opts *InstanceCreateOptions) {
- opts.Region = getRegionsWithCaps(t, client, []string{"Linodes", "VPCs"})[0]
+ opts.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{
+ linodego.CapabilityLinodes,
+ linodego.CapabilityVPCs,
+ })[0]
},
)
if err != nil {
@@ -235,7 +244,7 @@ func setupInstanceWith3Interfaces(t *testing.T, fixturesYaml string) (
{
Purpose: InterfacePurposeVPC,
SubnetID: &vpcSubnet.ID,
- IPv4: &VPCIPv4{
+ IPv4: &VPCIPv4CreateOptions{
NAT1To1: &NAT1To1Any,
},
},
@@ -304,7 +313,10 @@ func TestInstance_ConfigInterfaces_AppendDelete(t *testing.T) {
"fixtures/TestInstance_ConfigInterfaces_AppendDelete",
func(client *Client, opts *InstanceCreateOptions) {
// Ensure we're in a region that supports VLANs
- opts.Region = getRegionsWithCaps(t, client, []string{"vlans", "VPCs"})[0]
+ opts.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{
+ linodego.CapabilityVlans,
+ linodego.CapabilityVPCs,
+ })[0]
},
)
defer teardown()
@@ -454,7 +466,10 @@ func TestInstance_ConfigInterfaces_Update(t *testing.T) {
"fixtures/TestInstance_ConfigInterfaces_Update",
func(client *Client, opts *InstanceCreateOptions) {
// Ensure we're in a region that supports VLANs
- opts.Region = getRegionsWithCaps(t, client, []string{"vlans", "VPCs"})[0]
+ opts.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{
+ linodego.CapabilityVlans,
+ linodego.CapabilityVPCs,
+ })[0]
},
)
defer teardown()
@@ -475,7 +490,7 @@ func TestInstance_ConfigInterfaces_Update(t *testing.T) {
{
Purpose: InterfacePurposeVPC,
SubnetID: &vpcSubnet.ID,
- IPv4: &VPCIPv4{
+ IPv4: &VPCIPv4CreateOptions{
VPC: "192.168.0.87",
},
},
@@ -528,7 +543,10 @@ func TestInstance_ConfigInterface_Update(t *testing.T) {
"fixtures/TestInstance_ConfigInterface_Update",
func(client *Client, opts *InstanceCreateOptions) {
// Ensure we're in a region that supports VLANs
- opts.Region = getRegionsWithCaps(t, client, []string{"vlans", "VPCs"})[0]
+ opts.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{
+ linodego.CapabilityVlans,
+ linodego.CapabilityVPCs,
+ })[0]
},
)
defer teardown()
@@ -572,12 +590,12 @@ func TestInstance_ConfigInterface_Update(t *testing.T) {
}
NAT1To1Any := "any"
- updateOpts.IPv4 = &VPCIPv4{
+ updateOpts.IPv4 = &VPCIPv4UpdateOptions{
VPC: "192.168.0.10",
NAT1To1: &NAT1To1Any,
}
newIPRanges := make([]string, 0)
- updateOpts.IPRanges = &newIPRanges
+ updateOpts.IPRanges = newIPRanges
updatedIntfc, err = client.UpdateInstanceConfigInterface(
context.Background(),
@@ -639,6 +657,8 @@ func TestInstance_Config_Update(t *testing.T) {
}
func TestInstance_Config_VolumeLimitExtension(t *testing.T) {
+ ctx := waitContext(t, 1000*time.Second)
+
client, instance, config, teardown, err := setupInstanceWithoutDisks(
t, "fixtures/TestInstance_Config_VolumeLimitExtension",
true,
@@ -688,10 +708,10 @@ func TestInstance_Config_VolumeLimitExtension(t *testing.T) {
RootDevice: "/dev/sdk",
}
- _, err = client.WaitForVolumeStatus(context.Background(), volume1.ID, VolumeActive, 500)
+ _, err = client.WaitForVolumeStatus(ctx, volume1.ID, VolumeActive)
require.NoError(t, err)
- _, err = client.WaitForVolumeStatus(context.Background(), volume2.ID, VolumeActive, 500)
+ _, err = client.WaitForVolumeStatus(ctx, volume2.ID, VolumeActive)
require.NoError(t, err)
updatedConfig, err := client.UpdateInstanceConfig(context.Background(), instance.ID, config.ID, configOpts)
diff --git a/test/integration/instance_firewalls_test.go b/test/integration/instance_firewalls_test.go
index ff8728670..70ac692f1 100644
--- a/test/integration/instance_firewalls_test.go
+++ b/test/integration/instance_firewalls_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestInstanceFirewalls_List(t *testing.T) {
diff --git a/test/integration/instance_interfaces_test.go b/test/integration/instance_interfaces_test.go
index fc63b7cb9..e8b2c61d9 100644
--- a/test/integration/instance_interfaces_test.go
+++ b/test/integration/instance_interfaces_test.go
@@ -4,14 +4,14 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func createInstanceWithLinodeInterfaces(
t *testing.T,
client *linodego.Client,
enableCloudFirewall bool,
- interfaces []linodego.LinodeInterfaceCreateOptions,
+ interfaces []linodego.LinodeInstanceInterfaceCreateOptions,
modifiers ...instanceModifier,
) (*linodego.Instance, func(), error) {
if t != nil {
@@ -19,19 +19,19 @@ func createInstanceWithLinodeInterfaces(
}
createOpts := linodego.InstanceCreateOptions{
- Label: "go-test-intf-" + randLabel(),
- RootPass: randPassword(),
- Region: getRegionsWithCaps(t, client, []string{linodego.CapabilityLinodeInterfaces})[0],
- Type: "g6-nanode-1",
- Image: "linode/debian12",
- Booted: linodego.Pointer(false),
- InterfaceGeneration: linodego.GenerationLinode,
- LinodeInterfaces: interfaces,
+ Label: "go-test-intf-" + randLabel(),
+ RootPass: randPassword(),
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodeInterfaces})[0],
+ Type: "g6-nanode-1",
+ Image: "linode/debian12",
+ Booted: linodego.Pointer(false),
+ InterfaceGeneration: linodego.GenerationLinode,
+ LinodeInstanceInterfaces: interfaces,
}
if enableCloudFirewall {
- for i := range createOpts.LinodeInterfaces {
- createOpts.LinodeInterfaces[i].FirewallID = linodego.Pointer(firewallID)
+ for i := range createOpts.LinodeInstanceInterfaces {
+ createOpts.LinodeInstanceInterfaces[i].FirewallID = linodego.Pointer(firewallID)
}
}
@@ -49,38 +49,13 @@ func createInstanceWithLinodeInterfaces(
return instance, teardown, err
}
-func setupInstanceWithLinodeInterfaces(
- t *testing.T,
- fixturesYaml string,
- EnableCloudFirewall bool,
- interfaces []linodego.LinodeInterfaceCreateOptions,
- modifiers ...instanceModifier,
-) (*linodego.Client, *linodego.Instance, func(), error) {
- if t != nil {
- t.Helper()
- }
- client, fixtureTeardown := createTestClient(t, fixturesYaml)
-
- instance, teardownInstance, err := createInstanceWithLinodeInterfaces(t, client, EnableCloudFirewall, interfaces, modifiers...)
- if err != nil {
- t.Errorf("failed to create test instance: %s", err)
- }
-
- teardown := func() {
- teardownInstance()
- fixtureTeardown()
- }
-
- return client, instance, teardown, err
-}
-
func TestInstance_CreateWithLinodeInterfaces(
t *testing.T,
) {
client, fixtureTeardown := createTestClient(t, "fixtures/TestInstance_CreateWithLinodeInterfaces")
t.Cleanup(fixtureTeardown)
- testRegion := getRegionsWithCaps(t, client, []string{linodego.CapabilityVPCs, linodego.CapabilityLinodeInterfaces})[0]
+ testRegion := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityVPCs, linodego.CapabilityLinodeInterfaces})[0]
_, vpcSubnet, vpcTeardown, err := createVPCWithSubnet(
t,
client,
@@ -97,31 +72,35 @@ func TestInstance_CreateWithLinodeInterfaces(
t,
client,
true,
- []linodego.LinodeInterfaceCreateOptions{
+ []linodego.LinodeInstanceInterfaceCreateOptions{
{
- FirewallID: linodego.Pointer(firewallID),
- Public: &linodego.PublicInterfaceCreateOptions{
- IPv4: &linodego.PublicInterfaceIPv4CreateOptions{
- Addresses: &[]linodego.PublicInterfaceIPv4AddressCreateOptions{
- {
- Address: linodego.Pointer("auto"),
- Primary: linodego.Pointer(true),
+ LinodeInterfaceCreateOptions: linodego.LinodeInterfaceCreateOptions{
+ FirewallID: linodego.Pointer(firewallID),
+ Public: &linodego.PublicInterfaceCreateOptions{
+ IPv4: &linodego.PublicInterfaceIPv4CreateOptions{
+ Addresses: []linodego.PublicInterfaceIPv4AddressCreateOptions{
+ {
+ Address: linodego.Pointer("auto"),
+ Primary: linodego.Pointer(true),
+ },
},
},
+ IPv6: &linodego.PublicInterfaceIPv6CreateOptions{},
},
- IPv6: &linodego.PublicInterfaceIPv6CreateOptions{},
},
},
{
- FirewallID: linodego.Pointer(firewallID),
- VPC: &linodego.VPCInterfaceCreateOptions{
- SubnetID: vpcSubnet.ID,
- IPv4: &linodego.VPCInterfaceIPv4CreateOptions{
- Addresses: &[]linodego.VPCInterfaceIPv4AddressCreateOptions{
- {
- Address: linodego.Pointer("auto"),
- Primary: linodego.Pointer(true),
- NAT1To1Address: linodego.Pointer("auto"),
+ LinodeInterfaceCreateOptions: linodego.LinodeInterfaceCreateOptions{
+ FirewallID: linodego.Pointer(firewallID),
+ VPC: &linodego.VPCInterfaceCreateOptions{
+ SubnetID: vpcSubnet.ID,
+ IPv4: &linodego.VPCInterfaceIPv4CreateOptions{
+ Addresses: []linodego.VPCInterfaceIPv4AddressCreateOptions{
+ {
+ Address: linodego.Pointer("auto"),
+ Primary: linodego.Pointer(true),
+ NAT1To1Address: linodego.Pointer("auto"),
+ },
},
},
},
@@ -141,3 +120,147 @@ func TestInstance_CreateWithLinodeInterfaces(
t.Errorf("Expected a valid instance ID, got 0")
}
}
+
+// TODO: Test is commented out because currently there is no possibility to run it without manual infra changes
+//func TestInstance_CreateWithRDMAVPCInterfaces(t *testing.T) {
+// client, fixtureTeardown := createTestClient(t, "fixtures/TestInstance_CreateWithRDMAVPCInterfaces")
+// t.Cleanup(fixtureTeardown)
+//
+// // GPUDirect RDMA capability not available for now
+// // region := getRegionsWithCaps(t, client, []string{linodego.CapabilityVPCs, linodego.CapabilityGPUDirectRDMA})
+// testRegion := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityVPCs})[0]
+// interfaceCreateOptions := make([]linodego.LinodeInstanceInterfaceCreateOptions, 0)
+//
+// // CREATE
+// _, vpcSubnet, vpcTeardown, err := createVPCWithSubnet(
+// t,
+// client,
+// func(c *linodego.Client, opts *linodego.VPCCreateOptions) {
+// opts.Region = testRegion
+// opts.VPCType = linodego.VPCTypeRegular
+// },
+// )
+// require.NoErrorf(t, err, "Error creating RDMA VPC with subnet: %s", err)
+// t.Cleanup(vpcTeardown)
+//
+// _, vpcSubnetRDMA, vpcRDMATeardown, err := createVPCWithSubnet(
+// t,
+// client,
+// func(c *linodego.Client, opts *linodego.VPCCreateOptions) {
+// opts.Region = testRegion
+// opts.VPCType = linodego.VPCTypeRDMA
+// },
+// )
+// require.NoErrorf(t, err, "Error creating RDMA VPC with subnet: %s", err)
+// t.Cleanup(vpcRDMATeardown)
+//
+// // Add RDMA VPC interfaces
+// multiRDMAInterfaces := prepareMultipleRDMAInterfaces(8, vpcSubnetRDMA)
+// interfaceCreateOptions = append(interfaceCreateOptions, multiRDMAInterfaces...)
+//
+// // Include at least one regular interface
+// interfaceCreateOptions = append(interfaceCreateOptions, linodego.LinodeInstanceInterfaceCreateOptions{
+// LinodeInterfaceCreateOptions: linodego.LinodeInterfaceCreateOptions{
+// FirewallID: linodego.Pointer(firewallID),
+// VPC: &linodego.VPCInterfaceCreateOptions{
+// SubnetID: vpcSubnet.ID,
+// IPv4: &linodego.VPCInterfaceIPv4CreateOptions{
+// Addresses: []linodego.VPCInterfaceIPv4AddressCreateOptions{
+// {
+// Address: linodego.Pointer("auto"),
+// Primary: linodego.Pointer(true),
+// },
+// },
+// },
+// },
+// },
+// })
+//
+// instance, teardown, err := createInstanceWithLinodeInterfaces(
+// t,
+// client,
+// false,
+// interfaceCreateOptions,
+// func(c *linodego.Client, opts *linodego.InstanceCreateOptions) {
+// opts.Label = "go-test-rdma-" + randLabel()
+// opts.RootPass = randPassword()
+// opts.Image = "linode/ubuntu24.04"
+// opts.Region = testRegion
+// opts.Type = linodego.InstanceRDMAType
+// opts.HostID = linodego.InstanceRDMAHostID
+// opts.InterfaceGeneration = linodego.GenerationLinode
+// opts.LinodeInstanceInterfaces = interfaceCreateOptions
+// },
+// )
+// require.NoErrorf(t, err, "Error creating instance with RDMA interfaces: %s", err)
+// t.Cleanup(teardown)
+//
+// instance, err = client.WaitForInstanceStatus(
+// waitContext(t, 180*time.Second),
+// instance.ID,
+// linodego.InstanceOffline,
+// )
+// require.NoErrorf(t, err, "Error waiting for instance to be offline: %s", err)
+//
+// // READ
+// allInterfaces, err := client.ListInterfaces(context.Background(), instance.ID, nil)
+// require.NoErrorf(t, err, "Error listing interfaces for RDMA instance: %s", err)
+// assert.Equal(t, len(interfaceCreateOptions), len(allInterfaces), "Expected %d interfaces, got %d", len(interfaceCreateOptions), len(allInterfaces))
+//
+// basicRDMAInterface := allInterfaces[0]
+// require.NotNil(t, basicRDMAInterface.RDMAVPC, "Expected interface to have RDMAVPC field populated")
+//
+// // UPDATE
+// _, vpcSubnetRDMAUpdate, vpcRDMAUpdateTeardown, err := createVPCWithSubnet(
+// t,
+// client,
+// func(c *linodego.Client, opts *linodego.VPCCreateOptions) {
+// opts.Region = testRegion
+// opts.VPCType = linodego.VPCTypeRDMA
+// },
+// )
+// require.NoErrorf(t, err, "Error creating RDMA VPC with subnet: %s", err)
+// t.Cleanup(vpcRDMAUpdateTeardown)
+//
+// updateOpts := linodego.LinodeInterfaceUpdateOptions{
+// RDMAVPC: &linodego.RDMAVPCInterfaceUpdateOptions{
+// SubnetID: vpcSubnetRDMAUpdate.ID,
+// },
+// }
+// updatedRDMAInterface, err := client.UpdateInterface(context.Background(), instance.ID, basicRDMAInterface.ID, updateOpts)
+// require.NoErrorf(t, err, "Error updating RDMA interface: %s", err)
+// require.NotNil(t, updatedRDMAInterface.RDMAVPC, "Expected updated interface to have RDMAVPC field populated")
+// assert.Equal(t, basicRDMAInterface.ID, updatedRDMAInterface.ID, "Expected RDMA interface ID to remain the same after update")
+// assert.Equal(t, vpcSubnetRDMAUpdate.ID, updatedRDMAInterface.RDMAVPC.SubnetID, "Expected RDMA interface to be updated")
+//
+// // DELETE
+// err = client.DeleteInterface(context.Background(), instance.ID, basicRDMAInterface.ID)
+// require.Error(t, err, "Expected error deleting RDMA interface from RDMA instance")
+//
+// e, _ := err.(*linodego.Error)
+// assert.Equal(t, 400, e.Code, "Expected error code 400, got: %d", e.Code)
+// expectedErrorMessage := "RDMA VPC Interfaces cannot be deleted"
+// assert.Contains(t, e.Message, expectedErrorMessage, "Expected error message to contain: %s, got: %s", expectedErrorMessage, e.Message)
+//}
+//
+//func prepareMultipleRDMAInterfaces(amount int, subnet *linodego.VPCSubnet) []linodego.LinodeInstanceInterfaceCreateOptions {
+// interfaces := make([]linodego.LinodeInstanceInterfaceCreateOptions, 0)
+//
+// for i := 1; i <= amount; i++ {
+// interfaces = append(interfaces, linodego.LinodeInstanceInterfaceCreateOptions{
+// LinodeInterfaceCreateOptions: linodego.LinodeInterfaceCreateOptions{
+// //FirewallID: nil,
+// FirewallID: linodego.Pointer(-1),
+// },
+// RDMAVPC: &linodego.RDMAVPCInterfaceCreateOptions{
+// SubnetID: subnet.ID,
+// IPv4: linodego.RDMAVPCInterfaceIPv4Options{
+// Addresses: []linodego.RDMAVPCInterfaceIPv4AddressOptions{
+// {Address: "auto", Primary: linodego.Pointer(true)},
+// },
+// },
+// },
+// })
+// }
+// return interfaces
+//}
diff --git a/test/integration/instance_reserved_ips_test.go b/test/integration/instance_reserved_ips_test.go
index 18ebcec1a..848101f00 100644
--- a/test/integration/instance_reserved_ips_test.go
+++ b/test/integration/instance_reserved_ips_test.go
@@ -2,32 +2,42 @@ package integration
import (
"context"
+ "os"
+ "strings"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestInstance_CreateWithReservedIPAddress(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestInstance_CreateWithReservedIPAddress")
defer teardown()
+ region := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0]
+
// Reserve an IP for testing
- reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: "us-east"})
- if err != nil {
- t.Fatalf("Failed to reserve IP: %v", err)
- }
+ reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: region})
+ require.NoErrorf(t, err, "Failed to reserve IP: %v", err)
+
+ _, instanceTeardown, err := createInstanceWithReservedIP(
+ t, client, reservedIP.Address, func(client *linodego.Client, opts *linodego.InstanceCreateOptions) {
+ opts.Region = region
+ })
+ require.NoErrorf(t, err, "Error creating instance with reserved IP: %s", err)
+
defer func() {
- err := client.DeleteReservedIPAddress(context.Background(), reservedIP.Address)
- if err != nil {
- t.Errorf("Failed to delete reserved IP: %v", err)
- }
- }()
+ instanceTeardown()
- _, instanceTeardown, err := createInstanceWithReservedIP(t, client, reservedIP.Address)
- defer instanceTeardown()
- if err != nil {
- t.Fatalf("Error creating instance with reserved IP: %s", err)
- }
+ // Fetch reserved IP to verify that it still exists after instance deletion
+ fetchedIP, fetchErr := client.GetReservedIPAddress(context.Background(), reservedIP.Address)
+ require.NoErrorf(t, fetchErr, "Error fetching reserved IP after instance deletion: %v", fetchErr)
+ assert.NotNil(t, fetchedIP, "Expected reserved IP to still exist after instance deletion, but got nil")
+
+ err = client.DeleteReservedIPAddress(context.Background(), reservedIP.Address)
+ require.NoError(t, err, "Failed to delete reserved IP")
+ }()
}
func createInstanceWithReservedIP(
@@ -40,10 +50,10 @@ func createInstanceWithReservedIP(
createOpts := linodego.InstanceCreateOptions{
Label: "go-test-ins-reserved-ip-" + randLabel(),
- Region: "us-east",
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0],
Type: "g6-nanode-1",
Booted: linodego.Pointer(false),
- Image: "linode/alpine3.20",
+ Image: "linode/alpine3.23",
RootPass: randPassword(),
Interfaces: []linodego.InstanceConfigInterfaceCreateOptions{
{
@@ -77,7 +87,9 @@ func TestInstance_CreateWithOwnedNonAssignedReservedIP(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestInstance_CreateWithOwnedNonAssignedReservedIP")
defer teardown()
- reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: "us-east"})
+ region := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0]
+
+ reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: region})
if err != nil {
t.Fatalf("Failed to reserve IP: %v", err)
}
@@ -88,7 +100,10 @@ func TestInstance_CreateWithOwnedNonAssignedReservedIP(t *testing.T) {
}
}()
- _, instanceTeardown, err := createInstanceWithReservedIP(t, client, reservedIP.Address)
+ _, instanceTeardown, err := createInstanceWithReservedIP(
+ t, client, reservedIP.Address, func(client *linodego.Client, opts *linodego.InstanceCreateOptions) {
+ opts.Region = region
+ })
defer instanceTeardown()
if err != nil {
t.Errorf("Unexpected error with owned non-assigned reserved IP: %v", err)
@@ -99,7 +114,9 @@ func TestInstance_CreateWithAlreadyAssignedReservedIP(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestInstance_CreateWithAlreadyAssignedReservedIP")
defer teardown()
- reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: "us-east"})
+ region := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0]
+
+ reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: region})
if err != nil {
t.Fatalf("Failed to reserve IP: %v", err)
}
@@ -111,14 +128,20 @@ func TestInstance_CreateWithAlreadyAssignedReservedIP(t *testing.T) {
}()
// First, create an instance with the reserved IP
- _, instanceTeardown, err := createInstanceWithReservedIP(t, client, reservedIP.Address)
+ _, instanceTeardown, err := createInstanceWithReservedIP(
+ t, client, reservedIP.Address, func(client *linodego.Client, opts *linodego.InstanceCreateOptions) {
+ opts.Region = region
+ })
defer instanceTeardown()
if err != nil {
t.Fatalf("Failed to create initial instance: %v", err)
}
// Now try to create another instance with the same IP
- _, secondInstanceTeardown, err := createInstanceWithReservedIP(t, client, reservedIP.Address)
+ _, secondInstanceTeardown, err := createInstanceWithReservedIP(
+ t, client, reservedIP.Address, func(client *linodego.Client, opts *linodego.InstanceCreateOptions) {
+ opts.Region = region
+ })
defer secondInstanceTeardown()
if err == nil {
t.Errorf("Expected error with already assigned reserved IP, but got none")
@@ -175,7 +198,9 @@ func TestInstance_CreateWithMultipleIPAddresses(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestInstance_CreateWithMultipleIPAddresses")
defer teardown()
- reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: "us-east"})
+ region := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0]
+
+ reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: region})
if err != nil {
t.Fatalf("Failed to reserve IP: %v", err)
}
@@ -188,6 +213,7 @@ func TestInstance_CreateWithMultipleIPAddresses(t *testing.T) {
_, instanceTeardown, err := createInstanceWithReservedIP(t, client, "", func(client *linodego.Client, opts *linodego.InstanceCreateOptions) {
opts.IPv4 = []string{reservedIP.Address, "192.0.2.2"}
+ opts.Region = region
})
defer instanceTeardown()
if err == nil {
@@ -212,11 +238,13 @@ func TestInstance_AddReservedIPToInstance(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestInstance_AddReservedIPToInstance")
defer teardown()
+ region := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0]
+
// Create a test Linode instance
instance, err := client.CreateInstance(context.Background(), linodego.InstanceCreateOptions{
- Region: "us-east",
+ Region: region,
Type: "g6-nanode-1",
- Label: "test-instance-for-ip-reservation",
+ Label: "test-instance-for-ip-reservation_" + getUniqueText(),
RootPass: randPassword(),
})
if err != nil {
@@ -230,7 +258,7 @@ func TestInstance_AddReservedIPToInstance(t *testing.T) {
// Reserve an IP address
reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{
- Region: "us-east",
+ Region: region,
})
if err != nil {
t.Fatalf("Error reserving IP address: %v", err)
@@ -275,9 +303,16 @@ func TestInstance_AddReservedIPToInstanceVariants(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestInstance_AddReservedIPToInstanceVariants")
defer teardown()
+ env, _ := os.LookupEnv(linodego.APIHostVar)
+ if strings.Contains(env, "devcloud") {
+ t.Skip("Skipping test because DevCloud environment has only one region")
+ }
+
+ region := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0]
+
// Create a test Linode instance
instance, err := client.CreateInstance(context.Background(), linodego.InstanceCreateOptions{
- Region: "us-east",
+ Region: region,
Type: "g6-nanode-1",
Label: "test-instance-for-ip-reservation",
RootPass: randPassword(),
@@ -293,7 +328,7 @@ func TestInstance_AddReservedIPToInstanceVariants(t *testing.T) {
// Reserve an IP address
reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{
- Region: "us-east",
+ Region: region,
})
if err != nil {
t.Fatalf("Error reserving IP address: %v", err)
@@ -331,7 +366,7 @@ func TestInstance_AddReservedIPToInstanceVariants(t *testing.T) {
// Reserve IP address
resIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{
- Region: "us-east",
+ Region: region,
})
if err != nil {
t.Fatalf("Failed to reserve IP: %v", err)
@@ -378,8 +413,9 @@ func TestInstance_AddReservedIPToInstanceVariants(t *testing.T) {
// Test: Reserved IP in different datacenter
// Reserve an IP address
+ region2 := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[1]
diffDataCentreIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{
- Region: "ca-central",
+ Region: region2,
})
if err != nil {
t.Fatalf("Error reserving IP address: %v", err)
@@ -458,8 +494,10 @@ func TestInstance_DeleteInstanceVariants(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestInstance_DeleteInstanceVariants")
defer teardown()
+ region := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0]
+
// Create a Linode with a reserved IP
- reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: "us-east"})
+ reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: region})
if err != nil {
t.Fatalf("Failed to reserve IP: %v", err)
}
@@ -471,7 +509,10 @@ func TestInstance_DeleteInstanceVariants(t *testing.T) {
}
}()
- instance, _, err := createInstanceWithReservedIP(t, client, reservedIP.Address)
+ instance, _, err := createInstanceWithReservedIP(
+ t, client, reservedIP.Address, func(client *linodego.Client, opts *linodego.InstanceCreateOptions) {
+ opts.Region = region
+ })
if err != nil {
t.Fatalf("Error creating instance with reserved IP: %s", err)
}
@@ -496,7 +537,7 @@ func TestInstance_DeleteInstanceVariants(t *testing.T) {
// Reassign the freed reserved IP to a new Linode
newInstance, err := client.CreateInstance(context.Background(), linodego.InstanceCreateOptions{
- Region: "us-east",
+ Region: region,
Type: "g6-nanode-1",
Label: "test-instance-freed-ip",
RootPass: randPassword(),
@@ -525,7 +566,7 @@ func TestInstance_DeleteInstanceVariants(t *testing.T) {
// PERMUTATION 4: Delete a Linode with an ephemeral IP
ephemeralInstance, err := client.CreateInstance(context.Background(), linodego.InstanceCreateOptions{
- Region: "us-east",
+ Region: region,
Type: "g6-nanode-1",
Label: "ephemeral-ip-test",
RootPass: randPassword(),
diff --git a/test/integration/instance_snapshots_test.go b/test/integration/instance_snapshots_test.go
index 8ef1da669..151a4b674 100644
--- a/test/integration/instance_snapshots_test.go
+++ b/test/integration/instance_snapshots_test.go
@@ -5,13 +5,15 @@ import (
"testing"
"time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
var testSnapshotLabel = "snapshot-linodego-testing"
func TestInstanceBackups_List(t *testing.T) {
- client, instance, backup, teardown, err := setupInstanceBackup(t, "fixtures/TestInstanceBackups_List")
+ ctx := waitContext(t, 1500*time.Second)
+
+ client, instance, backup, teardown, err := setupInstanceBackup(t, ctx, "fixtures/TestInstanceBackups_List")
defer teardown()
if err != nil {
t.Error(err)
@@ -52,7 +54,7 @@ func TestInstanceBackups_List(t *testing.T) {
t.Errorf("Expected snapshot did not match current snapshot: %v", backups.Snapshot.Current)
}
- backup, err = client.WaitForSnapshotStatus(context.Background(), instance.ID, backup.ID, linodego.SnapshotSuccessful, 360)
+ backup, err = client.WaitForSnapshotStatus(ctx, instance.ID, backup.ID, linodego.SnapshotSuccessful)
if err != nil {
t.Errorf("Error waiting for snapshot: %v", err)
}
@@ -79,20 +81,24 @@ func TestInstanceBackups_List(t *testing.T) {
}
// wait for instnace to restore
- _, err = client.WaitForEventFinished(context.Background(), instance.ID, linodego.EntityLinode, linodego.ActionBackupsRestore, now, 360)
+ _, err = client.WaitForEventFinished(ctx, instance.ID, linodego.EntityLinode, linodego.ActionBackupsRestore, now)
if err != nil {
t.Errorf("Error waiting for snapshot to complete: %v", err)
}
}
-func setupInstanceBackup(t *testing.T, fixturesYaml string) (*linodego.Client, *linodego.Instance, *linodego.InstanceSnapshot, func(), error) {
+func setupInstanceBackup(
+ t *testing.T,
+ ctx context.Context,
+ fixturesYaml string,
+) (*linodego.Client, *linodego.Instance, *linodego.InstanceSnapshot, func(), error) {
t.Helper()
client, instance, _, fixtureTeardown, err := setupInstanceWithoutDisks(t, fixturesYaml, true)
if err != nil {
t.Errorf("Error creating instance, got error %v", err)
}
- client.WaitForInstanceStatus(context.Background(), instance.ID, linodego.InstanceOffline, 180)
+ client.WaitForInstanceStatus(ctx, instance.ID, linodego.InstanceOffline)
createOpts := linodego.InstanceDiskCreateOptions{
Size: 18,
Label: "linodego-disk-test",
@@ -104,7 +110,7 @@ func setupInstanceBackup(t *testing.T, fixturesYaml string) (*linodego.Client, *
}
// wait for disk to finish provisioning
- event, err := client.WaitForEventFinished(context.Background(), instance.ID, linodego.EntityLinode, linodego.ActionDiskCreate, *disk.Created, 240)
+ event, err := client.WaitForEventFinished(ctx, instance.ID, linodego.EntityLinode, linodego.ActionDiskCreate, *disk.Created)
if err != nil {
t.Errorf("Error waiting for instance snapshot: %v", err)
}
@@ -118,12 +124,14 @@ func setupInstanceBackup(t *testing.T, fixturesYaml string) (*linodego.Client, *
t.Errorf("Error enabling Instance Backups: %v", err)
}
- snapshot, err := client.CreateInstanceSnapshot(context.Background(), instance.ID, testSnapshotLabel)
+ opts := linodego.InstanceSnapshotCreateOptions{Label: testSnapshotLabel}
+
+ snapshot, err := client.CreateInstanceSnapshot(context.Background(), instance.ID, opts)
if err != nil {
t.Errorf("Error creating instance snapshot: %v", err)
}
- event, err = client.WaitForEventFinished(context.Background(), instance.ID, linodego.EntityLinode, linodego.ActionLinodeSnapshot, *instance.Created, 360)
+ event, err = client.WaitForEventFinished(ctx, instance.ID, linodego.EntityLinode, linodego.ActionLinodeSnapshot, *instance.Created)
if err != nil {
t.Errorf("Error waiting for instance snapshot: %v", err)
}
diff --git a/test/integration/instances_test.go b/test/integration/instances_test.go
index 5c95bfe5a..4873c9e5e 100644
--- a/test/integration/instances_test.go
+++ b/test/integration/instances_test.go
@@ -7,8 +7,9 @@ import (
"strconv"
"strings"
"testing"
+ "time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -121,14 +122,11 @@ func TestInstance_GetMonthlyTransfer(t *testing.T) {
if err != nil {
t.Errorf("Error getting monthly instance transfer, expected struct, got error %v", err)
}
-
- _, err = client.GetInstanceTransferMonthlyV2(context.Background(), instance.ID, testYear, testMonth)
- if err != nil {
- t.Errorf("Error getting monthly instance transfer, expected struct, got error %v", err)
- }
}
func TestInstance_ResetPassword(t *testing.T) {
+ ctx := waitContext(t, 180*time.Second)
+
client, instance, teardown, err := setupInstance(
t,
"fixtures/TestInstance_ResetPassword", true,
@@ -146,10 +144,9 @@ func TestInstance_ResetPassword(t *testing.T) {
}
instance, err = client.WaitForInstanceStatus(
- context.Background(),
+ ctx,
instance.ID,
linodego.InstanceOffline,
- 180,
)
if err != nil {
t.Errorf("Error waiting for instance readiness for password reset: %s", err.Error())
@@ -168,6 +165,8 @@ func TestInstance_ResetPassword(t *testing.T) {
}
func TestInstance_Resize(t *testing.T) {
+ ctx := waitContext(t, 180*time.Second)
+
client, instance, teardown, err := setupInstance(
t,
"fixtures/TestInstance_Resize", true,
@@ -184,10 +183,9 @@ func TestInstance_Resize(t *testing.T) {
}
instance, err = client.WaitForInstanceStatus(
- context.Background(),
+ ctx,
instance.ID,
linodego.InstanceRunning,
- 180,
)
if err != nil {
t.Errorf("Error waiting for instance readiness for resize: %s", err.Error())
@@ -207,6 +205,8 @@ func TestInstance_Resize(t *testing.T) {
}
func TestInstance_Migrate(t *testing.T) {
+ ctx := waitContext(t, 180*time.Second)
+
client, instance, teardown, err := setupInstance(
t,
"fixtures/TestInstance_Migrate", true,
@@ -223,10 +223,9 @@ func TestInstance_Migrate(t *testing.T) {
}
instance, err = client.WaitForInstanceStatus(
- context.Background(),
+ ctx,
instance.ID,
linodego.InstanceRunning,
- 180,
)
if err != nil {
t.Errorf("Error waiting for instance readiness for migration: %s", err.Error())
@@ -249,13 +248,15 @@ func TestInstance_Migrate(t *testing.T) {
}
func TestInstance_MigrateToPG(t *testing.T) {
+ ctx := waitContext(t, 180*time.Second)
+
client, clientTeardown := createTestClient(t, "fixtures/TestInstance_MigrateToPG")
defer func() {
clientTeardown()
}()
- regions := getRegionsWithCaps(t, client, []string{"Placement Group"})
+ regions := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityPlacementGroup})
pgOutboundCreateOpts := linodego.PlacementGroupCreateOptions{
Label: "linodego-test-" + getUniqueText(),
@@ -287,10 +288,9 @@ func TestInstance_MigrateToPG(t *testing.T) {
}
instance, err = client.WaitForInstanceStatus(
- context.Background(),
+ ctx,
instance.ID,
linodego.InstanceRunning,
- 180,
)
if err != nil {
t.Errorf("Error waiting for instance readiness for migration: %s", err.Error())
@@ -373,7 +373,7 @@ func TestInstance_Disks_List_WithEncryption(t *testing.T) {
"fixtures/TestInstance_Disks_List_WithEncryption",
true,
func(c *linodego.Client, ico *linodego.InstanceCreateOptions) {
- ico.Region = getRegionsWithCaps(t, c, []string{"Disk Encryption"})[0]
+ ico.Region = getRegionsWithCaps(t, c, []linodego.RegionCapability{linodego.CapabilityDiskEncryption})[0]
},
)
defer teardown()
@@ -398,13 +398,15 @@ func TestInstance_Disks_List_WithEncryption(t *testing.T) {
}
func TestInstance_Disk_Resize(t *testing.T) {
+ ctx := waitContext(t, 360*time.Second)
+
client, instance, _, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestInstance_Disk_Resize", true)
defer teardown()
if err != nil {
t.Error(err)
}
- instance, err = client.WaitForInstanceStatus(context.Background(), instance.ID, linodego.InstanceOffline, 180)
+ instance, err = client.WaitForInstanceStatus(ctx, instance.ID, linodego.InstanceOffline)
if err != nil {
t.Errorf("Error waiting for instance readiness for resize: %s", err)
}
@@ -418,29 +420,39 @@ func TestInstance_Disk_Resize(t *testing.T) {
t.Errorf("Error creating disk for resize: %s", err)
}
- disk, err = client.WaitForInstanceDiskStatus(context.Background(), instance.ID, disk.ID, linodego.DiskReady, 180)
+ disk, err = client.WaitForInstanceDiskStatus(ctx, instance.ID, disk.ID, linodego.DiskReady)
if err != nil {
t.Errorf("Error waiting for disk readiness for resize: %s", err)
}
- err = client.ResizeInstanceDisk(context.Background(), instance.ID, disk.ID, 4000)
+ opts := linodego.InstanceDiskResizeOptions{
+ Size: 4000,
+ }
+
+ err = client.ResizeInstanceDisk(context.Background(), instance.ID, disk.ID, opts)
if err != nil {
t.Errorf("Error resizing instance disk: %s", err)
}
}
func TestInstance_Disk_ListMultiple(t *testing.T) {
+ ctx := waitContext(t, 840*time.Second)
+
// This is a long running test
client, instance1, teardown1, err := setupInstance(t, "fixtures/TestInstance_Disk_ListMultiple_Primary", true)
defer teardown1()
if err != nil {
t.Error(err)
}
- err = client.BootInstance(context.Background(), instance1.ID, 0)
+
+ opts := linodego.InstanceBootOptions{
+ ConfigID: linodego.Pointer(0),
+ }
+ err = client.BootInstance(context.Background(), instance1.ID, opts)
if err != nil {
t.Error(err)
}
- instance1, err = client.WaitForInstanceStatus(context.Background(), instance1.ID, linodego.InstanceRunning, 180)
+ instance1, err = client.WaitForInstanceStatus(ctx, instance1.ID, linodego.InstanceRunning)
if err != nil {
t.Errorf("Error waiting for instance readiness: %s", err)
}
@@ -450,7 +462,7 @@ func TestInstance_Disk_ListMultiple(t *testing.T) {
t.Error(err)
}
- disk, err := client.WaitForInstanceDiskStatus(context.Background(), instance1.ID, disks[0].ID, linodego.DiskReady, 180)
+ disk, err := client.WaitForInstanceDiskStatus(ctx, instance1.ID, disks[0].ID, linodego.DiskReady)
if err != nil {
t.Errorf("Error waiting for disk readiness: %s", err)
}
@@ -469,12 +481,12 @@ func TestInstance_Disk_ListMultiple(t *testing.T) {
if err != nil {
t.Error(err)
}
- instance2, err = client.WaitForInstanceStatus(context.Background(), instance2.ID, linodego.InstanceOffline, 180)
+ instance2, err = client.WaitForInstanceStatus(ctx, instance2.ID, linodego.InstanceOffline)
if err != nil {
t.Errorf("Error waiting for instance readiness: %s", err)
}
- _, err = client.WaitForEventFinished(context.Background(), instance1.ID, linodego.EntityLinode, linodego.ActionDiskImagize, *disk.Created, 300)
+ _, err = client.WaitForEventFinished(ctx, instance1.ID, linodego.EntityLinode, linodego.ActionDiskImagize, *disk.Created)
if err != nil {
t.Errorf("Error waiting for imagize event: %s", err)
}
@@ -507,13 +519,15 @@ func TestInstance_Disk_ListMultiple(t *testing.T) {
}
func TestInstance_Disk_Clone(t *testing.T) {
+ ctx := waitContext(t, 540*time.Second)
+
client, instance, _, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestInstance_Disk_Clone", true)
defer teardown()
if err != nil {
t.Error(err)
}
- instance, err = client.WaitForInstanceStatus(context.Background(), instance.ID, linodego.InstanceOffline, 180)
+ instance, err = client.WaitForInstanceStatus(ctx, instance.ID, linodego.InstanceOffline)
if err != nil {
t.Errorf("Error waiting for instance readiness for disk clone: %s", err)
}
@@ -529,31 +543,31 @@ func TestInstance_Disk_Clone(t *testing.T) {
t.Errorf("Error creating disk for disk clone: %s", err)
}
- instance, err = client.WaitForInstanceStatus(context.Background(), instance.ID, linodego.InstanceOffline, 180)
+ instance, err = client.WaitForInstanceStatus(ctx, instance.ID, linodego.InstanceOffline)
if err != nil {
t.Errorf("Error waiting for instance readiness after creating disk for disk clone: %s", err)
}
- disk, err = client.WaitForInstanceDiskStatus(context.Background(), instance.ID, disk.ID, linodego.DiskReady, 180)
+ disk, err = client.WaitForInstanceDiskStatus(ctx, instance.ID, disk.ID, linodego.DiskReady)
if err != nil {
t.Errorf("Error waiting for disk readiness for disk clone: %s", err)
}
- opts := linodego.InstanceDiskCloneOptions{}
-
- _, err = client.CloneInstanceDisk(context.Background(), instance.ID, disk.ID, opts)
+ _, err = client.CloneInstanceDisk(context.Background(), instance.ID, disk.ID)
if err != nil {
t.Errorf("Error cloning instance disk: %s", err)
}
}
func TestInstance_Disk_ResetPassword(t *testing.T) {
+ ctx := waitContext(t, 540*time.Second)
+
client, instance, _, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestInstance_Disk_ResetPassword", true)
defer teardown()
if err != nil {
t.Error(err)
}
- instance, err = client.WaitForInstanceStatus(context.Background(), instance.ID, linodego.InstanceOffline, 180)
+ instance, err = client.WaitForInstanceStatus(ctx, instance.ID, linodego.InstanceOffline)
if err != nil {
t.Errorf("Error waiting for instance readiness for password reset: %s", err)
}
@@ -569,16 +583,19 @@ func TestInstance_Disk_ResetPassword(t *testing.T) {
t.Errorf("Error creating disk for password reset: %s", err)
}
- instance, err = client.WaitForInstanceStatus(context.Background(), instance.ID, linodego.InstanceOffline, 180)
+ instance, err = client.WaitForInstanceStatus(ctx, instance.ID, linodego.InstanceOffline)
if err != nil {
t.Errorf("Error waiting for instance readiness after creating disk for password reset: %s", err)
}
- disk, err = client.WaitForInstanceDiskStatus(context.Background(), instance.ID, disk.ID, linodego.DiskReady, 180)
+ disk, err = client.WaitForInstanceDiskStatus(ctx, instance.ID, disk.ID, linodego.DiskReady)
if err != nil {
t.Errorf("Error waiting for disk readiness for password reset: %s", err)
}
- err = client.PasswordResetInstanceDisk(context.Background(), instance.ID, disk.ID, "r34!_b4d_p455")
+ opts := linodego.InstanceDiskPasswordResetOptions{
+ Password: "r34!_b4d_p455",
+ }
+ err = client.PasswordResetInstanceDisk(context.Background(), instance.ID, disk.ID, opts)
if err != nil {
t.Errorf("Error reseting password on instance disk: %s", err)
}
@@ -621,6 +638,8 @@ func TestInstance_NodeBalancers_List(t *testing.T) {
}
func TestInstance_Volumes_List(t *testing.T) {
+ ctx := waitContext(t, 500*time.Second)
+
client, instance, config, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestInstance_Volumes_List_Instance", true)
defer teardown()
if err != nil {
@@ -631,7 +650,7 @@ func TestInstance_Volumes_List(t *testing.T) {
options.Region = instance.Region
})
- _, err = client.WaitForVolumeStatus(context.Background(), volume.ID, linodego.VolumeActive, 500)
+ _, err = client.WaitForVolumeStatus(ctx, volume.ID, linodego.VolumeActive)
if err != nil {
t.Errorf("Error waiting for volume to be active, %s", err)
}
@@ -689,11 +708,13 @@ func TestInstance_CreateUnderFirewall(t *testing.T) {
}
func TestInstance_Rebuild(t *testing.T) {
+ ctx := waitContext(t, 180*time.Second)
+
client, instance, _, teardown, err := setupInstanceWithoutDisks(
t,
"fixtures/TestInstance_Rebuild", true,
func(client *linodego.Client, options *linodego.InstanceCreateOptions) {
- options.Region = getRegionsWithCaps(t, client, []string{"Metadata"})[0]
+ options.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityMetadata})[0]
},
)
defer teardown()
@@ -702,7 +723,7 @@ func TestInstance_Rebuild(t *testing.T) {
t.Error(err)
}
- _, err = client.WaitForEventFinished(context.Background(), instance.ID, linodego.EntityLinode, linodego.ActionLinodeCreate, *instance.Created, 180)
+ _, err = client.WaitForEventFinished(ctx, instance.ID, linodego.EntityLinode, linodego.ActionLinodeCreate, *instance.Created)
if err != nil {
t.Errorf("Error waiting for instance created: %s", err)
}
@@ -726,12 +747,14 @@ func TestInstance_Rebuild(t *testing.T) {
}
func TestInstance_RebuildWithEncryption(t *testing.T) {
+ ctx := waitContext(t, 180*time.Second)
+
client, instance, _, teardown, err := setupInstanceWithoutDisks(
t,
"fixtures/TestInstance_RebuildWithEncryption",
true,
func(client *linodego.Client, options *linodego.InstanceCreateOptions) {
- options.Region = getRegionsWithCaps(t, client, []string{"Disk Encryption"})[0]
+ options.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityDiskEncryption})[0]
options.DiskEncryption = linodego.InstanceDiskEncryptionEnabled
},
)
@@ -741,7 +764,7 @@ func TestInstance_RebuildWithEncryption(t *testing.T) {
t.Error(err)
}
- _, err = client.WaitForEventFinished(context.Background(), instance.ID, linodego.EntityLinode, linodego.ActionLinodeCreate, *instance.Created, 180)
+ _, err = client.WaitForEventFinished(ctx, instance.ID, linodego.EntityLinode, linodego.ActionLinodeCreate, *instance.Created)
if err != nil {
t.Errorf("Error waiting for instance created: %s", err)
}
@@ -763,12 +786,14 @@ func TestInstance_RebuildWithEncryption(t *testing.T) {
}
func TestInstance_Clone(t *testing.T) {
+ ctx := waitContext(t, 420*time.Second)
+
var targetRegion string
client, instance, teardownOriginalLinode, err := setupInstance(
t, "fixtures/TestInstance_Clone", true,
func(client *linodego.Client, options *linodego.InstanceCreateOptions) {
- targetRegion = getRegionsWithCaps(t, client, []string{"Metadata"})[0]
+ targetRegion = getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityMetadata})[0]
options.Region = targetRegion
})
@@ -778,12 +803,11 @@ func TestInstance_Clone(t *testing.T) {
t.Cleanup(teardownOriginalLinode)
_, err = client.WaitForEventFinished(
- context.Background(),
+ ctx,
instance.ID,
linodego.EntityLinode,
linodego.ActionLinodeCreate,
*instance.Created,
- 180,
)
if err != nil {
t.Errorf("Error waiting for instance created: %s", err)
@@ -811,17 +835,12 @@ func TestInstance_Clone(t *testing.T) {
client.DeleteInstance(context.Background(), clonedInstance.ID)
})
- if err != nil {
- t.Error(err)
- }
-
_, err = client.WaitForEventFinished(
- context.Background(),
+ ctx,
instance.ID,
linodego.EntityLinode,
linodego.ActionLinodeClone,
*clonedInstance.Created,
- 240,
)
if err != nil {
t.Fatal(err)
@@ -864,7 +883,7 @@ func TestInstance_withMetadata(t *testing.T) {
options.Metadata = &linodego.InstanceMetadataOptions{
UserData: base64.StdEncoding.EncodeToString([]byte("reallycoolmetadata")),
}
- options.Region = getRegionsWithCaps(t, client, []string{"Metadata"})[0]
+ options.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityMetadata})[0]
})
if err != nil {
t.Fatal(err)
@@ -897,7 +916,10 @@ func TestInstance_withBlockStorageEncryption(t *testing.T) {
client, clientTeardown := createTestClient(t, "fixtures/TestInstance_withBlockStorageEncryption")
inst, err := createInstance(t, client, true, func(client *linodego.Client, options *linodego.InstanceCreateOptions) {
- options.Region = getRegionsWithCaps(t, client, []string{"Linodes", "Block Storage Encryption"})[0]
+ options.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{
+ linodego.CapabilityLinodes,
+ linodego.CapabilityBlockStorageEncryption,
+ })[0]
options.Label = "go-inst-test-create-bde"
})
require.NoError(t, err)
@@ -965,7 +987,7 @@ func createInstance(t *testing.T, client *linodego.Client, enableCloudFirewall b
createOpts := linodego.InstanceCreateOptions{
Label: "go-test-ins-" + randLabel(),
RootPass: randPassword(),
- Region: getRegionsWithCaps(t, client, []string{"linodes"})[0],
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes})[0],
Type: "g6-nanode-1",
Image: "linode/debian12",
Booted: linodego.Pointer(false),
@@ -1017,8 +1039,11 @@ func createInstanceWithoutDisks(
t.Helper()
createOpts := linodego.InstanceCreateOptions{
- Label: "go-test-ins-wo-disk-" + randLabel(),
- Region: getRegionsWithCaps(t, client, []string{"Linodes", "Maintenance Policy"})[0],
+ Label: "go-test-ins-wo-disk-" + randLabel(),
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{
+ linodego.CapabilityLinodes,
+ linodego.CapabilityMaintenancePolicy,
+ })[0],
Type: "g6-nanode-1",
Booted: linodego.Pointer(false),
}
@@ -1077,7 +1102,7 @@ func TestInstance_MaintenancePolicy(t *testing.T) {
region := getRegionsWithCapsAndSiteType(
t,
client,
- []string{"Linodes", "Maintenance Policy"},
+ []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityMaintenancePolicy},
"core",
)[0]
@@ -1159,7 +1184,7 @@ func TestExpectedErrorIfFieldsAuthorizedUsersAuthorizedKeysRootPassAreNotSet(t *
region := getRegionsWithCapsAndSiteType(
t,
client,
- []string{linodego.CapabilityLinodes, linodego.CapabilityMaintenancePolicy},
+ []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityMaintenancePolicy},
"core",
)[0]
_, err := client.CreateInstance(context.Background(),
@@ -1177,6 +1202,8 @@ func TestExpectedErrorIfFieldsAuthorizedUsersAuthorizedKeysRootPassAreNotSet(t *
}
func TestCreateLinodeWithKernelAndBootSizeThenAddDiskAndRebuild(t *testing.T) {
+ ctx := waitContext(t, 360*time.Second)
+
client, teardown := createTestClient(t,
"fixtures/TestInstance_TestCreateLinodeWithKernelAndBootSizeThenAddDiskAndRebuild")
defer teardown()
@@ -1184,7 +1211,7 @@ func TestCreateLinodeWithKernelAndBootSizeThenAddDiskAndRebuild(t *testing.T) {
region := getRegionsWithCapsAndSiteType(
t,
client,
- []string{linodego.CapabilityLinodes, linodego.CapabilityMaintenancePolicy},
+ []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityMaintenancePolicy},
"core",
)[0]
instance, err := client.CreateInstance(context.Background(),
@@ -1207,12 +1234,11 @@ func TestCreateLinodeWithKernelAndBootSizeThenAddDiskAndRebuild(t *testing.T) {
require.NoError(t, err)
assert.Equal(t, "linode/debian12", instance.Image)
_, err = client.WaitForEventFinished(
- context.Background(),
+ ctx,
instance.ID,
linodego.EntityLinode,
linodego.ActionLinodeCreate,
*instance.Created,
- 180,
)
require.NoErrorf(t, err, "Error waiting for instance created: %s", err)
@@ -1224,7 +1250,7 @@ func TestCreateLinodeWithKernelAndBootSizeThenAddDiskAndRebuild(t *testing.T) {
RootPass: randPassword(),
})
require.NoError(t, errCreateDisk)
- createDiskResponse, err = client.WaitForInstanceDiskStatus(context.Background(), instance.ID, createDiskResponse.ID, linodego.DiskReady, 180)
+ createDiskResponse, err = client.WaitForInstanceDiskStatus(ctx, instance.ID, createDiskResponse.ID, linodego.DiskReady)
require.NoError(t, err)
assert.Equal(t, linodego.DiskReady, createDiskResponse.Status)
diff --git a/test/integration/integration_suite_test.go b/test/integration/integration_suite_test.go
index 3ca0cb8a2..c70fda655 100644
--- a/test/integration/integration_suite_test.go
+++ b/test/integration/integration_suite_test.go
@@ -15,7 +15,7 @@ import (
"github.com/dnaeon/go-vcr/cassette"
"github.com/dnaeon/go-vcr/recorder"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/require"
"golang.org/x/oauth2"
"k8s.io/client-go/transport"
@@ -102,11 +102,7 @@ func testRecorder(t *testing.T, fixturesYaml string, testingMode recorder.Mode,
})
r.AddFilter(func(i *cassette.Interaction) error {
- re := regexp.MustCompile(`"access_key": "[[:alnum:]]*"`)
- i.Response.Body = re.ReplaceAllString(i.Response.Body, `"access_key": "[SANITIZED]"`)
- re = regexp.MustCompile(`"secret_key": "[[:alnum:]]*"`)
- i.Response.Body = re.ReplaceAllString(i.Response.Body, `"secret_key": "[SANITIZED]"`)
- re = regexp.MustCompile("20[0-9]{2}-[01][0-9]-[0-3][0-9]T[0-2][0-9]:[0-9]{2}:[0-9]{2}")
+ re := regexp.MustCompile("20[0-9]{2}-[01][0-9]-[0-3][0-9]T[0-2][0-9]:[0-9]{2}:[0-9]{2}")
i.Response.Body = re.ReplaceAllString(i.Response.Body, "2018-01-02T03:04:05")
// re = regexp.MustCompile("192\\.168\\.((1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\\.)(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])")
// i.Response.Body = re.ReplaceAllString(i.Response.Body, "10.0.0.1")
@@ -118,7 +114,32 @@ func testRecorder(t *testing.T, fixturesYaml string, testingMode recorder.Mode,
})
r.AddSaveFilter(func(i *cassette.Interaction) error {
- re := regexp.MustCompile("AWSAccessKeyId=[[:alnum:]]{20}")
+ // Sanitize credentials only when saving to cassette, so that real access/secret
+ // keys are available to test code during recording (e.g. for creating a
+ // LogsDestination that requires valid object-storage credentials).
+
+ // Object Storage access_key / secret_key (response and request bodies)
+ re := regexp.MustCompile(`"access_key":\s*"[^"]*"`)
+ i.Response.Body = re.ReplaceAllString(i.Response.Body, `"access_key": "[SANITIZED]"`)
+ i.Request.Body = re.ReplaceAllString(i.Request.Body, `"access_key": "[SANITIZED]"`)
+ re = regexp.MustCompile(`"secret_key":\s*"[^"]*"`)
+ i.Response.Body = re.ReplaceAllString(i.Response.Body, `"secret_key": "[SANITIZED]"`)
+ i.Request.Body = re.ReplaceAllString(i.Request.Body, `"secret_key": "[SANITIZED]"`)
+
+ // LogsDestination credentials (access_key_id / access_key_secret)
+ re = regexp.MustCompile(`"access_key_id":\s*"[^"]*"`)
+ i.Response.Body = re.ReplaceAllString(i.Response.Body, `"access_key_id": "[SANITIZED]"`)
+ i.Request.Body = re.ReplaceAllString(i.Request.Body, `"access_key_id":"[SANITIZED]"`)
+ re = regexp.MustCompile(`"access_key_secret":\s*"[^"]*"`)
+ i.Response.Body = re.ReplaceAllString(i.Response.Body, `"access_key_secret": "[SANITIZED]"`)
+ i.Request.Body = re.ReplaceAllString(i.Request.Body, `"access_key_secret":"[SANITIZED]"`)
+
+ // Custom HTTPS basic authentication password
+ re = regexp.MustCompile(`"basic_authentication_password":\s*"[^"]*"`)
+ i.Response.Body = re.ReplaceAllString(i.Response.Body, `"basic_authentication_password": "[SANITIZED]"`)
+ i.Request.Body = re.ReplaceAllString(i.Request.Body, `"basic_authentication_password":"[SANITIZED]"`)
+
+ re = regexp.MustCompile("AWSAccessKeyId=[[:alnum:]]{20}")
i.Response.Body = re.ReplaceAllString(i.Response.Body, "AWSAccessKeyID=SANITIZED")
i.Request.URL = re.ReplaceAllString(i.Request.URL, "AWSAccessKeyID=SANITIZED")
return nil
@@ -163,7 +184,12 @@ func createTestClient(t *testing.T, fixturesYaml string) (*linodego.Client, func
},
}
- c = linodego.NewClient(oc)
+ client, err := linodego.NewClient(oc)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ c = client
c.SetDebug(debugAPI).
SetPollDelay(testingPollDuration).
SetRetryMaxWaitTime(testingMaxRetryTime)
@@ -171,6 +197,15 @@ func createTestClient(t *testing.T, fixturesYaml string) (*linodego.Client, func
return &c, recordStopper
}
+func waitContext(t *testing.T, timeout time.Duration) context.Context {
+ t.Helper()
+
+ ctx, cancel := context.WithTimeout(t.Context(), timeout)
+ t.Cleanup(cancel)
+
+ return ctx
+}
+
// transportRecordWrapper returns a tranport.WrapperFunc which provides the test
// recorder as an http.RoundTripper.
func transportRecorderWrapper(t *testing.T, fixtureYaml string) (transport.WrapperFunc, func()) {
@@ -194,7 +229,7 @@ Parameters:
Returns:
- string values representing the IDs of regions that have a given set of capabilities.
*/
-func getRegionsWithCaps(t *testing.T, client *linodego.Client, capabilities []string) []string {
+func getRegionsWithCaps(t *testing.T, client *linodego.Client, capabilities []linodego.RegionCapability) []string {
result := make([]string, 0)
regions, err := client.ListRegions(context.Background(), nil)
@@ -215,7 +250,7 @@ func getRegionsWithCaps(t *testing.T, client *linodego.Client, capabilities []st
// getRegionWithCapsAndPlans resolves a list of regions that meet the given capabilities
// and has availability for all the provided plans.
-func getRegionsWithCapsAndPlans(t *testing.T, client *linodego.Client, capabilities, plans []string) []string {
+func getRegionsWithCapsAndPlans(t *testing.T, client *linodego.Client, capabilities []linodego.RegionCapability, plans []string) []string {
regionsWithCaps := getRegionsWithCaps(t, client, capabilities)
regionsAvailabilities, err := client.ListRegionsAvailability(context.Background(), nil)
@@ -255,7 +290,7 @@ func getRegionsWithCapsAndPlans(t *testing.T, client *linodego.Client, capabilit
}
// getRegionsWithCapsAndSiteType returns a list of regions that meet the given capabilities and site type
-func getRegionsWithCapsAndSiteType(t *testing.T, client *linodego.Client, capabilities []string, siteType string) []string {
+func getRegionsWithCapsAndSiteType(t *testing.T, client *linodego.Client, capabilities []linodego.RegionCapability, siteType string) []string {
result := make([]string, 0)
regions, err := client.ListRegions(context.Background(), nil)
@@ -274,7 +309,7 @@ func getRegionsWithCapsAndSiteType(t *testing.T, client *linodego.Client, capabi
return result
}
-func regionHasCaps(r linodego.Region, capabilities []string) bool {
+func regionHasCaps(r linodego.Region, capabilities []linodego.RegionCapability) bool {
capsMap := make(map[string]bool)
for _, c := range r.Capabilities {
@@ -282,7 +317,7 @@ func regionHasCaps(r linodego.Region, capabilities []string) bool {
}
for _, c := range capabilities {
- if _, ok := capsMap[strings.ToUpper(c)]; !ok {
+ if _, ok := capsMap[strings.ToUpper(string(c))]; !ok {
return false
}
}
diff --git a/test/integration/lke_clusters_acl_test.go b/test/integration/lke_clusters_acl_test.go
index 56cc254fd..fc5651d2b 100644
--- a/test/integration/lke_clusters_acl_test.go
+++ b/test/integration/lke_clusters_acl_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -20,8 +20,8 @@ func TestLKECluster_withACL(t *testing.T) {
ACL: &linodego.LKEClusterControlPlaneACLOptions{
Enabled: &valueTrue,
Addresses: &linodego.LKEClusterControlPlaneACLAddressesOptions{
- IPv4: &[]string{"10.0.0.1/32"},
- IPv6: &[]string{"1234::5678"},
+ IPv4: []string{"10.0.0.1/32"},
+ IPv6: []string{"1234::5678"},
},
},
}
@@ -48,8 +48,8 @@ func TestLKECluster_withACL(t *testing.T) {
ACL: linodego.LKEClusterControlPlaneACLOptions{
Enabled: &valueTrue,
Addresses: &linodego.LKEClusterControlPlaneACLAddressesOptions{
- IPv4: &[]string{"10.0.0.2/32"},
- IPv6: &[]string{},
+ IPv4: []string{"10.0.0.2/32"},
+ IPv6: []string{},
},
RevisionID: testRevisionID,
},
diff --git a/test/integration/lke_clusters_test.go b/test/integration/lke_clusters_test.go
index 6d52bdc23..270d1dc7e 100644
--- a/test/integration/lke_clusters_test.go
+++ b/test/integration/lke_clusters_test.go
@@ -3,12 +3,13 @@ package integration
import (
"context"
"fmt"
- "net/url"
"reflect"
"testing"
+ "time"
- "github.com/linode/linodego"
k8scondition "github.com/linode/linodego/k8s/pkg/condition"
+ "github.com/linode/linodego/v2"
+ "github.com/stretchr/testify/require"
)
func TestLKECluster_GetMissing(t *testing.T) {
@@ -30,6 +31,8 @@ func TestLKECluster_GetMissing(t *testing.T) {
}
func TestLKECluster_WaitForReady(t *testing.T) {
+ ctx := waitContext(t, 10*60*time.Second)
+
client, cluster, teardown, err := setupLKECluster(t, []clusterModifier{func(createOpts *linodego.LKEClusterCreateOptions) {
createOpts.Label = "go-lke-test-wait"
createOpts.NodePools = []linodego.LKENodePoolCreateOptions{
@@ -41,9 +44,8 @@ func TestLKECluster_WaitForReady(t *testing.T) {
wrapper, teardownClusterClient := transportRecorderWrapper(t, "fixtures/TestLKECluster_WaitForReady_Cluster")
defer teardownClusterClient()
- if err = k8scondition.WaitForLKEClusterReady(context.Background(), *client, cluster.ID, linodego.LKEClusterPollOptions{
+ if err = k8scondition.WaitForLKEClusterReady(ctx, *client, cluster.ID, linodego.LKEClusterPollOptions{
Retry: true,
- TimeoutSeconds: 10 * 60,
TransportWrapper: wrapper,
}); err != nil {
t.Errorf("Error waiting for the LKE cluster pools to be ready: %s", err)
@@ -87,10 +89,23 @@ func TestLKECluster_Enterprise_BYOVPC_smoke(t *testing.T) {
// bring your own vpc
client, fixtureTeardown := createTestClient(t, "fixtures/TestLKECluster_Enterprise_VPC_smoke")
- region := "no-osl-1"
- vpc, vpcTeardown, err := createVPC(t, client, []vpcModifier{func(l *linodego.Client, options *linodego.VPCCreateOptions) {
+ regions := getRegionsWithCaps(t, client, []linodego.RegionCapability{
+ linodego.CapabilityLKE,
+ linodego.CapabilityDiskEncryption,
+ linodego.CapabilityKubernetesEnterprise,
+ })
+ require.Greater(t, len(regions), 0, "Error getting regions with required capabilities")
+
+ region := regions[0]
+ vpc, _, vpcTeardown, err := createVPC(t, client, []vpcModifier{func(l *linodego.Client, options *linodego.VPCCreateOptions) {
options.Region = region
+ options.IPv6 = []linodego.VPCCreateOptionsIPv6{
+ {
+ Range: linodego.Pointer("/52"),
+ },
+ }
}}...)
+ require.NoErrorf(t, err, "Error creating VPC, got: %v", err)
client, lkeCluster, teardown, err := setupLKECluster(t, []clusterModifier{func(createOpts *linodego.LKEClusterCreateOptions) {
createOpts.Tier = "enterprise"
@@ -128,7 +143,6 @@ func TestLKECluster_Enterprise_BYOVPC_smoke(t *testing.T) {
func TestLKECluster_Update(t *testing.T) {
client, cluster, teardown, err := setupLKECluster(t, []clusterModifier{func(createOpts *linodego.LKEClusterCreateOptions) {
createOpts.Label = "go-lke-test-update"
- createOpts.K8sVersion = "1.31"
}}, "fixtures/TestLKECluster_Update")
defer teardown()
if err != nil {
@@ -137,12 +151,10 @@ func TestLKECluster_Update(t *testing.T) {
updatedTags := []string{"test=true"}
updatedLabel := cluster.Label + "-updated"
- updatedK8sVersion := "1.32"
updatedCluster, err := client.UpdateLKECluster(context.Background(), cluster.ID, linodego.LKEClusterUpdateOptions{
- Tags: &updatedTags,
- Label: updatedLabel,
- K8sVersion: updatedK8sVersion,
+ Tags: updatedTags,
+ Label: updatedLabel,
})
if err != nil {
t.Fatalf("failed to update LKE Cluster (%d): %s", cluster.ID, err)
@@ -152,10 +164,6 @@ func TestLKECluster_Update(t *testing.T) {
t.Errorf("expected label to be updated to %q; got %q", updatedLabel, updatedCluster.Label)
}
- if updatedCluster.K8sVersion != updatedK8sVersion {
- t.Errorf("expected k8s version to be updated to %q; got %q", updatedK8sVersion, updatedCluster.K8sVersion)
- }
-
if !reflect.DeepEqual(updatedTags, updatedCluster.Tags) {
t.Errorf("expected tags to be updated to %#v; got %#v", updatedTags, updatedCluster.Tags)
}
@@ -212,12 +220,14 @@ func TestLKECluster_APIEndpoints_List(t *testing.T) {
}
func TestLKECluster_Kubeconfig_Get(t *testing.T) {
+ ctx := waitContext(t, 180*time.Second)
+
client, lkeCluster, teardown, err := setupLKECluster(t, []clusterModifier{func(createOpts *linodego.LKEClusterCreateOptions) {
createOpts.Label = "go-lke-test-kube-get"
}}, "fixtures/TestLKECluster_Kubeconfig_Get")
defer teardown()
- _, err = client.WaitForLKEClusterStatus(context.Background(), lkeCluster.ID, linodego.LKEClusterReady, 180)
+ _, err = client.WaitForLKEClusterStatus(ctx, lkeCluster.ID, linodego.LKEClusterReady)
if err != nil {
t.Errorf("Error waiting for LKECluster readiness: %s", err)
}
@@ -231,12 +241,14 @@ func TestLKECluster_Kubeconfig_Get(t *testing.T) {
}
func TestLKECluster_Kubeconfig_Delete(t *testing.T) {
+ ctx := waitContext(t, 180*time.Second)
+
client, lkeCluster, teardown, err := setupLKECluster(t, []clusterModifier{func(createOpts *linodego.LKEClusterCreateOptions) {
createOpts.Label = "go-lke-test-kube-delete"
}}, "fixtures/TestLKECluster_Kubeconfig_Delete")
defer teardown()
- _, err = client.WaitForLKEClusterStatus(context.Background(), lkeCluster.ID, linodego.LKEClusterReady, 180)
+ _, err = client.WaitForLKEClusterStatus(ctx, lkeCluster.ID, linodego.LKEClusterReady)
if err != nil {
t.Errorf("Error waiting for LKECluster readiness: %s", err)
}
@@ -254,30 +266,6 @@ func TestLKECluster_Kubeconfig_Delete(t *testing.T) {
}
}
-func TestLKECluster_Dashboard_Get(t *testing.T) {
- client, lkeCluster, teardown, err := setupLKECluster(t, []clusterModifier{func(createOpts *linodego.LKEClusterCreateOptions) {
- createOpts.Label = "go-lke-test-dash"
- }}, "fixtures/TestLKECluster_Dashboard_Get")
- defer teardown()
-
- _, err = client.WaitForLKEClusterStatus(context.Background(), lkeCluster.ID, linodego.LKEClusterReady, 180)
- if err != nil {
- t.Errorf("Error waiting for LKECluster readiness: %s", err)
- }
- i, err := client.GetLKEClusterDashboard(context.Background(), lkeCluster.ID)
- if err != nil {
- t.Errorf("Error getting LKE cluster dashboard URL, expected struct, got %v and error %v", i, err)
- }
-
- if len(i.URL) == 0 {
- t.Errorf("Expected an LKE cluster dashboard URL, but got empty string %v", i)
- }
-
- if _, err := url.ParseRequestURI(i.URL); err != nil {
- t.Errorf("invalid url: %s", err)
- }
-}
-
func TestLKEClusters_List(t *testing.T) {
client, _, teardown, err := setupLKECluster(t, []clusterModifier{func(createOpts *linodego.LKEClusterCreateOptions) {
createOpts.Label = "go-lke-test-list"
@@ -441,7 +429,10 @@ func setupLKECluster(t *testing.T, clusterModifiers []clusterModifier, fixturesY
}
if createOpts.Region == "" {
- createOpts.Region = getRegionsWithCaps(t, client, []string{"Kubernetes", "LA Disk Encryption"})[0]
+ createOpts.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{
+ linodego.CapabilityLKE,
+ linodego.CapabilityLADiskEncryption,
+ })[0]
}
if createOpts.K8sVersion == "" {
diff --git a/test/integration/lke_node_pools_test.go b/test/integration/lke_node_pools_test.go
index bea95820b..e17efbc48 100644
--- a/test/integration/lke_node_pools_test.go
+++ b/test/integration/lke_node_pools_test.go
@@ -3,10 +3,11 @@ package integration
import (
"context"
"testing"
+ "time"
"github.com/google/go-cmp/cmp"
- "github.com/linode/linodego"
k8scondition "github.com/linode/linodego/k8s/pkg/condition"
+ "github.com/linode/linodego/v2"
)
var testLKENodePoolCreateOpts = linodego.LKENodePoolCreateOptions{
@@ -41,13 +42,15 @@ func TestLKENodePool_GetMissing(t *testing.T) {
}
func TestLKENodePool_GetFound(t *testing.T) {
+ ctx := waitContext(t, 10*time.Minute)
+
client, lkeCluster, pool, teardown, err := setupLKENodePool(t, "fixtures/TestLKENodePool_GetFound", &testLKENodePoolCreateOpts)
if err != nil {
t.Error(err)
}
defer teardown()
- i, err := client.GetLKENodePool(context.Background(), lkeCluster.ID, pool.ID)
+ i, err := client.GetLKENodePool(ctx, lkeCluster.ID, pool.ID)
if err != nil {
t.Errorf("Error getting LKENodePool, expected struct, got %v and error %v", i, err)
}
@@ -79,21 +82,20 @@ func TestLKENodePool_GetFound(t *testing.T) {
wrapper, teardownClusterClient := transportRecorderWrapper(t, "fixtures/TestLKENodePool_GetFound_k8s")
defer teardownClusterClient()
- if err := k8scondition.WaitForLKEClusterAndNodesReady(context.TODO(), *client, lkeCluster.ID, linodego.LKEClusterPollOptions{
+ if err := k8scondition.WaitForLKEClusterAndNodesReady(ctx, *client, lkeCluster.ID, linodego.LKEClusterPollOptions{
Retry: true,
- TimeoutSeconds: 0,
TransportWrapper: wrapper,
}); err != nil {
t.Fatalf("got err waiting for LKE cluster and nodes to be ready, err: %v", err)
}
- i, err = client.GetLKENodePool(context.TODO(), lkeCluster.ID, pool.ID)
+ i, err = client.GetLKENodePool(ctx, lkeCluster.ID, pool.ID)
if err != nil {
t.Fatalf("failed to get lke node pool, got err: %v", err)
}
for _, node := range i.Linodes {
- instance, err := client.GetInstance(context.Background(), node.InstanceID)
+ instance, err := client.GetInstance(ctx, node.InstanceID)
if err != nil {
t.Errorf("failed to get Linode, got err: %v", err)
}
@@ -207,8 +209,8 @@ func TestLKENodePool_Update(t *testing.T) {
}
updatedTags := []string{}
updated, err := client.UpdateLKENodePool(context.TODO(), lkeCluster.ID, nodePool.ID, linodego.LKENodePoolUpdateOptions{
- Count: 2, // downsize
- Tags: &updatedTags, // remove all tags
+ Count: 2, // downsize
+ Tags: updatedTags, // remove all tags
Autoscaler: &updatedAutoscaler,
})
if err != nil {
@@ -237,9 +239,9 @@ func TestLKENodePool_Update(t *testing.T) {
}}
updated, err = client.UpdateLKENodePool(context.TODO(), lkeCluster.ID, nodePool.ID, linodego.LKENodePoolUpdateOptions{
Count: 3, // upsize
- Tags: &updatedTags, // repopulate tags
+ Tags: updatedTags, // repopulate tags
Labels: &updatedLabels, // set a label
- Taints: &updatedTaints, // set a taint
+ Taints: updatedTaints, // set a taint
})
if err != nil {
t.Fatal(err)
diff --git a/test/integration/lke_types_test.go b/test/integration/lke_types_test.go
index 1095e9cd9..4107e18a0 100644
--- a/test/integration/lke_types_test.go
+++ b/test/integration/lke_types_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/require"
)
diff --git a/test/integration/locks_test.go b/test/integration/locks_test.go
index 2a229c198..c5611c580 100644
--- a/test/integration/locks_test.go
+++ b/test/integration/locks_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"github.com/google/go-cmp/cmp"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
diff --git a/test/integration/longview_test.go b/test/integration/longview_test.go
index 1a207d362..7ff908e40 100644
--- a/test/integration/longview_test.go
+++ b/test/integration/longview_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestLongviewClient_Get_smoke(t *testing.T) {
diff --git a/test/integration/main_test.go b/test/integration/main_test.go
index 6f497ff13..4330c3832 100644
--- a/test/integration/main_test.go
+++ b/test/integration/main_test.go
@@ -10,7 +10,7 @@ import (
"testing"
"time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
var (
@@ -76,19 +76,19 @@ func deleteCloudFirewall() {
}
}
-func getDefaultFirewallRuleSet(publicIPv4 string) linodego.FirewallRuleSet {
- cloudFirewallRule := linodego.FirewallRule{
+func getDefaultFirewallRuleSet(publicIPv4 string) linodego.FirewallRulesCreateOptions {
+ cloudFirewallRuleInbound := linodego.FirewallRuleInbound{
Label: "ssh-inbound-accept-local",
Action: "ACCEPT",
Ports: "22",
Protocol: "TCP",
- Addresses: linodego.NetworkAddresses{IPv4: &[]string{publicIPv4}},
+ Addresses: linodego.NetworkAddresses{IPv4: []string{publicIPv4}},
}
- return linodego.FirewallRuleSet{
- Inbound: []linodego.FirewallRule{cloudFirewallRule},
+ return linodego.FirewallRulesCreateOptions{
+ Inbound: []linodego.FirewallRuleInbound{cloudFirewallRuleInbound},
InboundPolicy: "DROP",
- Outbound: []linodego.FirewallRule{},
+ Outbound: []linodego.FirewallRuleOutbound{},
OutboundPolicy: "ACCEPT",
}
}
diff --git a/test/integration/maintenance_test.go b/test/integration/maintenance_test.go
index 8ce207aad..b8d22650c 100644
--- a/test/integration/maintenance_test.go
+++ b/test/integration/maintenance_test.go
@@ -2,10 +2,8 @@ package integration
import (
"context"
- "encoding/json"
"testing"
- "github.com/linode/linodego"
"github.com/stretchr/testify/require"
)
@@ -13,21 +11,7 @@ func TestMaintenancePolicies_List(t *testing.T) {
client, fixtureTeardown := createTestClient(t, "fixtures/TestMaintenancePolicies_List")
defer fixtureTeardown()
- resp, err := client.R(context.Background()).Get("maintenance/policies")
- require.NoError(t, err)
-
- var result map[string]any
- err = json.Unmarshal(resp.Body(), &result)
- require.NoError(t, err)
-
- dataRaw, ok := result["data"]
- require.True(t, ok, "Expected 'data' key in response")
-
- dataJSON, err := json.Marshal(dataRaw)
- require.NoError(t, err)
-
- var policies []linodego.MaintenancePolicy
- err = json.Unmarshal(dataJSON, &policies)
+ policies, err := client.ListMaintenancePolicies(context.Background(), nil)
require.NoError(t, err)
if len(policies) == 0 {
diff --git a/test/integration/monitor_alert_definitions_test.go b/test/integration/monitor_alert_definitions_test.go
index eb3f11ba4..d8d50464d 100644
--- a/test/integration/monitor_alert_definitions_test.go
+++ b/test/integration/monitor_alert_definitions_test.go
@@ -6,8 +6,9 @@ import (
"testing"
"time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -17,7 +18,37 @@ const (
channelID = 10000
)
+func deleteMonitorAlertDefinitionWithRetry(t *testing.T, client *linodego.Client, serviceType string, alertID int) {
+ t.Helper()
+
+ // Retry deletion with exponential backoff for up to 2 minutes
+ maxWait := 2 * time.Minute
+ baseDelay := 2 * time.Second
+ var err error
+ var lastErr error
+ start := time.Now()
+
+ for attempt := 0; time.Since(start) < maxWait; attempt++ {
+ err = client.DeleteMonitorAlertDefinition(context.Background(), serviceType, alertID)
+ if err == nil {
+ break
+ }
+
+ lastErr = err
+ // Exponential backoff, capped at 30s
+ sleep := baseDelay * (1 << attempt)
+ if sleep > 30*time.Second {
+ sleep = 30 * time.Second
+ }
+ time.Sleep(sleep)
+ }
+
+ assert.NoError(t, err, "DeleteMonitorAlertDefinition failed after retries for alert ID %d: %v", alertID, lastErr)
+}
+
func TestMonitorAlertDefinition_smoke(t *testing.T) {
+ ctx := waitContext(t, 300*time.Second)
+
client, teardown := createTestClient(t, "fixtures/TestMonitorAlertDefinition")
defer teardown()
@@ -33,6 +64,7 @@ func TestMonitorAlertDefinition_smoke(t *testing.T) {
// Check few mandatory fields on each listed alert
assert.NotZero(t, alert.ID, "alert.ID should not be zero")
assert.NotEmpty(t, alert.Label, "alert.Label should not be empty")
+ assert.NotNil(t, alert.GroupBy, "alert.GroupBy should be present")
// If alert has a rule, validate basic rule structure
if len(alert.RuleCriteria.Rules) > 0 {
@@ -76,6 +108,7 @@ func TestMonitorAlertDefinition_smoke(t *testing.T) {
Description: linodego.Pointer("Test alert definition creation"),
ChannelIDs: []int{channelID},
EntityIDs: nil,
+ GroupBy: []string{"entity_id"},
TriggerConditions: &linodego.TriggerConditions{
CriteriaCondition: "ALL",
EvaluationPeriodSeconds: 300,
@@ -113,6 +146,7 @@ func TestMonitorAlertDefinition_smoke(t *testing.T) {
assert.Equal(t, createOpts.Label, createdAlert.Label)
assert.Equal(t, createOpts.Severity, createdAlert.Severity)
assert.Equal(t, *createOpts.Description, createdAlert.Description)
+ assert.NotNil(t, createdAlert.GroupBy)
// More thorough assertions on the created alert's nested fields
// TriggerConditions is a struct, so it is never nil
@@ -154,11 +188,10 @@ func TestMonitorAlertDefinition_smoke(t *testing.T) {
}
// wait for 1 minute before update for create to complete
_, err = client.WaitForAlertDefinitionStatus(
- context.Background(),
+ ctx,
linodego.AlertDefinitionStatusEnabled,
testMonitorAlertDefinitionServiceType,
createdAlert.ID,
- 300, // timeout in seconds (5 minutes)
)
if err != nil {
t.Logf("failed to wait for alert definition to be enabled: %s", err)
@@ -171,29 +204,12 @@ func TestMonitorAlertDefinition_smoke(t *testing.T) {
assert.NotNil(t, updatedAlert)
assert.Equal(t, createdAlert.ID, updatedAlert.ID, "updated alert should keep same ID")
assert.Equal(t, newLabel, updatedAlert.Label, "updated alert should have the new label")
+ assert.NotNil(t, updatedAlert.GroupBy)
}
// Clean up created alert definition
if createdAlert != nil {
- // Retry deletion with exponential backoff for up to 2 minutes
- maxWait := 2 * time.Minute
- baseDelay := 2 * time.Second
- var lastErr error
- start := time.Now()
- for attempt := 0; time.Since(start) < maxWait; attempt++ {
- err = client.DeleteMonitorAlertDefinition(context.Background(), testMonitorAlertDefinitionServiceType, createdAlert.ID)
- if err == nil {
- break
- }
- lastErr = err
- // Exponential backoff, capped at 30s
- sleep := baseDelay * (1 << attempt)
- if sleep > 30*time.Second {
- sleep = 30 * time.Second
- }
- time.Sleep(sleep)
- }
- assert.NoError(t, err, "DeleteMonitorAlertDefinition failed after retries: %v", lastErr)
+ deleteMonitorAlertDefinitionWithRetry(t, client, testMonitorAlertDefinitionServiceType, createdAlert.ID)
}
}
@@ -210,6 +226,7 @@ func TestMonitorAlertDefinitions_List(t *testing.T) {
assert.NotZero(t, alert.ID)
assert.NotEmpty(t, alert.Label)
assert.NotEmpty(t, alert.ServiceType)
+ assert.NotNil(t, alert.GroupBy)
}
}
@@ -330,3 +347,102 @@ func TestMonitorAlertDefinitionEntities_List(t *testing.T) {
assert.NotEmpty(t, entity.URL)
}
}
+
+func TestMonitorAlertDefinition_Clone(t *testing.T) {
+ ctx := waitContext(t, 300*time.Second)
+
+ client, teardown := createTestClient(t, "fixtures/TestMonitorAlertDefinition_Clone")
+ defer teardown()
+
+ // Get a channel ID to use
+ channels, err := client.ListAlertChannels(context.Background(), nil)
+ require.NoErrorf(t, err, "failed to determine a monitor channel to use: %v", err)
+ require.NotEmpty(t, channels, "no alert channels available to use for cloning test")
+ testChannelID := channels[0].ID
+
+ // Create the source alert definition
+ createOpts := linodego.AlertDefinitionCreateOptions{
+ Label: "go-test-alert-definition-clone-source",
+ Severity: int(linodego.SeverityLow),
+ Description: linodego.Pointer("Source alert definition for clone test"),
+ ChannelIDs: []int{testChannelID},
+ EntityIDs: nil,
+ GroupBy: []string{"entity_id"},
+ TriggerConditions: &linodego.TriggerConditions{
+ CriteriaCondition: "ALL",
+ EvaluationPeriodSeconds: 300,
+ PollingIntervalSeconds: 300,
+ TriggerOccurrences: 1,
+ },
+ RuleCriteria: &linodego.RuleCriteriaOptions{
+ Rules: []linodego.RuleOptions{
+ {
+ AggregateFunction: "avg",
+ Metric: "memory_usage",
+ Operator: "gt",
+ Threshold: 90.0,
+ DimensionFilters: []linodego.DimensionFilterOptions{
+ {
+ DimensionLabel: "node_type",
+ Operator: "eq",
+ Value: "primary",
+ },
+ },
+ },
+ },
+ },
+ }
+
+ sourceAlert, err := client.CreateMonitorAlertDefinition(context.Background(), testMonitorAlertDefinitionServiceType, createOpts)
+ require.NoErrorf(t, err, "CreateMonitorAlertDefinition failed: %s", err)
+ assert.NotNil(t, sourceAlert)
+ assert.Equal(t, createOpts.Label, sourceAlert.Label)
+ assert.NotNil(t, sourceAlert.GroupBy)
+
+ // Wait for the source alert to be enabled before cloning
+ _, err = client.WaitForAlertDefinitionStatus(
+ ctx,
+ linodego.AlertDefinitionStatusEnabled,
+ testMonitorAlertDefinitionServiceType,
+ sourceAlert.ID,
+ )
+ require.NoErrorf(t, err, "failed to wait for source alert definition to be enabled: %s", err)
+
+ // Clone the source alert definition with overridden fields
+ cloneLabel := sourceAlert.Label + "-clone"
+ overrideSeverity := int(linodego.SeverityMedium)
+ cloneOpts := linodego.AlertDefinitionCloneOptions{
+ Label: cloneLabel,
+ Description: linodego.Pointer("Cloned alert definition"),
+ Severity: &overrideSeverity,
+ ChannelIDs: []int{testChannelID},
+ TriggerConditions: &linodego.TriggerConditions{
+ CriteriaCondition: "ALL",
+ EvaluationPeriodSeconds: 900,
+ PollingIntervalSeconds: 300,
+ TriggerOccurrences: 3,
+ },
+ }
+
+ clonedAlert, err := client.CloneMonitorAlertDefinition(context.Background(), testMonitorAlertDefinitionServiceType, sourceAlert.ID, cloneOpts)
+ if err != nil {
+ // Cleanup source before failing
+ _ = client.DeleteMonitorAlertDefinition(context.Background(), testMonitorAlertDefinitionServiceType, sourceAlert.ID)
+ t.Fatalf("CloneMonitorAlertDefinition failed: %s", err)
+ }
+ assert.NotNil(t, clonedAlert)
+ assert.NotEqual(t, sourceAlert.ID, clonedAlert.ID, "cloned alert should have a different ID")
+ assert.Equal(t, cloneLabel, clonedAlert.Label, "cloned alert should have the specified label")
+ assert.Equal(t, *cloneOpts.Description, clonedAlert.Description, "cloned alert should have the overridden description")
+ assert.Equal(t, overrideSeverity, clonedAlert.Severity, "cloned alert should have the overridden severity")
+ assert.Equal(t, sourceAlert.Scope, clonedAlert.Scope, "cloned alert scope should be inherited from source")
+ assert.NotNil(t, clonedAlert.GroupBy)
+ assert.Equal(t, cloneOpts.TriggerConditions.EvaluationPeriodSeconds, clonedAlert.TriggerConditions.EvaluationPeriodSeconds)
+ assert.Equal(t, cloneOpts.TriggerConditions.PollingIntervalSeconds, clonedAlert.TriggerConditions.PollingIntervalSeconds)
+ assert.Equal(t, cloneOpts.TriggerConditions.TriggerOccurrences, clonedAlert.TriggerConditions.TriggerOccurrences)
+
+ // Cleanup both source and cloned alert definitions
+ for _, alertID := range []int{sourceAlert.ID, clonedAlert.ID} {
+ deleteMonitorAlertDefinitionWithRetry(t, client, testMonitorAlertDefinitionServiceType, alertID)
+ }
+}
diff --git a/test/integration/monitor_api_service_test.go b/test/integration/monitor_api_service_test.go
index e8fa1ac4c..2b8cdff6a 100644
--- a/test/integration/monitor_api_service_test.go
+++ b/test/integration/monitor_api_service_test.go
@@ -3,12 +3,15 @@ package integration
import (
"context"
"testing"
+ "time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestMonitorAPI_Fetch_Entity_Metrics(t *testing.T) {
- mClient, entityIDs, teardown, err := setup(t, "fixtures/TestMonitorAPI_Get_Entity_Metrics")
+ ctx := waitContext(t, 5400*time.Second)
+
+ mClient, entityIDs, teardown, err := setup(t, ctx, "fixtures/TestMonitorAPI_Get_Entity_Metrics")
if err != nil {
t.Error(err)
}
@@ -38,7 +41,7 @@ func TestMonitorAPI_Fetch_Entity_Metrics(t *testing.T) {
}
}
-func setup(t *testing.T, fixturesYaml string) (*linodego.MonitorClient, []any, func(), error) {
+func setup(t *testing.T, ctx context.Context, fixturesYaml string) (*linodego.MonitorClient, []any, func(), error) {
t.Helper()
client, clientFixtureTeardown := createTestClient(t, "fixtures/TestMonitorAPI_Get_Entity_Metrics_ListDB")
@@ -51,7 +54,7 @@ func setup(t *testing.T, fixturesYaml string) (*linodego.MonitorClient, []any, f
var teardown func()
if len(dbs) < 1 {
// create a DB entity to generate token
- client, _, teardown, err = setupPostgresDatabase(t, nil, "fixtures/TestMonitorAPI_Get_Entity_Metrics_setupPostgres")
+ client, _, teardown, err = setupPostgresDatabase(t, ctx, nil, "fixtures/TestMonitorAPI_Get_Entity_Metrics_setupPostgres")
if err != nil {
t.Error(err)
}
diff --git a/test/integration/monitor_dashboards_test.go b/test/integration/monitor_dashboards_test.go
index a02e15c0a..213aafd3f 100644
--- a/test/integration/monitor_dashboards_test.go
+++ b/test/integration/monitor_dashboards_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -78,10 +78,15 @@ func validateDashboards(
require.NotEmpty(t, dashboards.Created)
require.NotEmpty(t, dashboards.Updated)
require.NotEmpty(t, dashboards.Widgets)
+ if dashboards.GroupBy != nil {
+ require.NotEmpty(t, dashboards.GroupBy, "group_by should not be empty when present")
+ }
// Validate group_by and filters for each widget
for _, widget := range dashboards.Widgets {
- require.NotNil(t, widget.GroupBy, "Expected group_by to be present in widget")
+ if widget.GroupBy != nil {
+ require.NotEmpty(t, widget.GroupBy, "group_by should not be empty when present")
+ }
require.GreaterOrEqual(t, len(widget.GroupBy), 0, "group_by should be a slice (possibly empty)")
// filters is optional
if widget.Filters != nil {
diff --git a/test/integration/monitor_logs_test.go b/test/integration/monitor_logs_test.go
new file mode 100644
index 000000000..41435d842
--- /dev/null
+++ b/test/integration/monitor_logs_test.go
@@ -0,0 +1,699 @@
+package integration
+
+import (
+ "context"
+ "fmt"
+ "io"
+ "net/http"
+ "os"
+ "testing"
+ "time"
+
+ "github.com/dnaeon/go-vcr/recorder"
+ "github.com/linode/linodego/v2"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+)
+
+// requireACLPLogsStreamTests skips the test if RUN_ACLP_LOGS_STREAM_TESTS is not set.
+// Call this before creating a test client so the env check short-circuits early.
+func requireACLPLogsStreamTests(t *testing.T) {
+ if testingMode == recorder.ModeReplaying {
+ return
+ }
+ t.Helper()
+ val := os.Getenv("RUN_ACLP_LOGS_STREAM_TESTS")
+ if val != "yes" && val != "true" {
+ t.Skipf("RUN_ACLP_LOGS_STREAM_TESTS must be set to 'yes' or 'true' to run stream tests")
+ }
+}
+
+// creates a object storage and access keys for use in tests
+func setupObjectStorageForLogs(t *testing.T, client *linodego.Client) (*linodego.ObjectStorageBucket, *linodego.ObjectStorageKey, func()) {
+ t.Helper()
+
+ regions := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityObjectStorage})
+ if len(regions) == 0 {
+ t.Fatal("no region with Object Storage capability found")
+ }
+
+ bucket, err := client.CreateObjectStorageBucket(context.Background(), linodego.ObjectStorageBucketCreateOptions{
+ Region: regions[0],
+ Label: testLabel(),
+ ACL: "private",
+ CorsEnabled: linodego.Pointer(false),
+ })
+ if err != nil {
+ t.Fatalf("Error creating storage bucket, got error %v", err)
+ }
+
+ storageKey, err := client.CreateObjectStorageKey(context.Background(), linodego.ObjectStorageKeyCreateOptions{
+ Label: testLabel(),
+ Regions: []string{regions[0]},
+ })
+ if err != nil {
+ _ = client.DeleteObjectStorageBucket(context.Background(), bucket.Region, bucket.Label)
+ t.Fatalf("Error creating storage key, got error %v", err)
+ }
+
+ teardown := func() {
+ if terr := client.DeleteObjectStorageKey(context.Background(), storageKey.ID); terr != nil {
+ t.Errorf("Expected to delete a storage key, but got %v", terr)
+ }
+
+ bucketObjects, terr := client.ListObjectStorageBucketContents(context.Background(), bucket.Region, bucket.Label, nil)
+ if terr == nil {
+ for _, obj := range bucketObjects.Data {
+ url, err := client.CreateObjectStorageObjectURL(context.TODO(), bucket.Region, bucket.Label, linodego.ObjectStorageObjectURLCreateOptions{
+ Name: obj.Name,
+ Method: http.MethodDelete,
+ ExpiresIn: &objectStorageObjectURLExpirySeconds,
+ })
+ if err != nil {
+ t.Errorf("failed to get object DELETE url: %s", err)
+ continue
+ }
+
+ if testingMode == recorder.ModeReplaying {
+ continue
+ }
+
+ req, err := http.NewRequest(http.MethodDelete, url.URL, nil)
+ if err != nil {
+ t.Errorf("failed to build request: %s", err)
+ continue
+ }
+
+ res, err := http.DefaultClient.Do(req)
+ if err != nil {
+ t.Errorf("failed to delete object: %s", err)
+ continue
+ }
+ _, _ = io.Copy(io.Discard, res.Body)
+ res.Body.Close()
+ if res.StatusCode != 204 {
+ t.Errorf("expected status code to be 204; got %d", res.StatusCode)
+ }
+ }
+ } else {
+ t.Errorf("Expected to list objects in object storage, but got %v", terr)
+ }
+
+ if terr := client.DeleteObjectStorageBucket(context.Background(), bucket.Region, bucket.Label); terr != nil {
+ t.Errorf("Expected to delete object storage bucket, but got %v", terr)
+ }
+ }
+
+ return bucket, storageKey, teardown
+}
+
+// creates a LogsDestination for use in tests
+func setupLogsDestination(t *testing.T, fixturesYaml string) (*linodego.Client, *linodego.LogsDestination, *linodego.ObjectStorageKey, func()) {
+ t.Helper()
+
+ client, fixtureTeardown := createTestClient(t, fixturesYaml)
+
+ bucket, storageKey, storageTeardown := setupObjectStorageForLogs(t, client)
+
+ dest, err := client.CreateLogsDestination(context.Background(), linodego.LogsDestinationCreateOptions{
+ Label: testLabel(),
+ Type: linodego.LogsDestinationTypeAkamaiObjectStorage,
+ Details: linodego.LogsDestinationDetailsCreateOptions{
+ AccessKeyID: storageKey.AccessKey,
+ AccessKeySecret: storageKey.SecretKey,
+ BucketName: bucket.Label,
+ Host: bucket.Hostname,
+ },
+ })
+ if err != nil {
+ storageTeardown()
+ fixtureTeardown()
+ t.Fatalf("Error creating logs destination, got error %v", err)
+ }
+
+ teardown := func() {
+ _, terr := client.GetLogsDestination(context.Background(), dest.ID)
+ if apiErr, ok := terr.(*linodego.Error); ok && apiErr.Code == 404 {
+ // Already gone — nothing to do.
+ } else {
+ if terr != nil {
+ t.Errorf("Error while checking destination existence: %v", terr)
+ }
+ // Object exists or GET failed for another reason — try to delete anyway.
+ if terr := client.DeleteLogsDestination(context.Background(), dest.ID); terr != nil {
+ t.Errorf("Expected to delete a logs destination, but got %v", terr)
+ }
+ }
+ storageTeardown()
+ fixtureTeardown()
+ }
+
+ return client, dest, storageKey, teardown
+}
+
+func testLabel() string {
+ return "go-test-logs-monitoring-" + getUniqueText()
+}
+
+// setupLogStream creates a test client, Object Storage resources, a LogsDestination,
+// and a LogStream. The returned teardown cleans up all resources in reverse order.
+func setupLogStream(t *testing.T, fixturesYaml string) (*linodego.Client, *linodego.Stream, *linodego.LogsDestination, func()) {
+ t.Helper()
+
+ client, dest, _, destTeardown := setupLogsDestination(t, fixturesYaml)
+ requireNoExistingStreams(t, client)
+
+ stream, err := client.CreateLogStream(context.Background(), linodego.StreamCreateOptions{
+ Label: fmt.Sprintf("go-test-log-stream-%d", time.Now().UnixNano()),
+ Type: linodego.StreamTypeAuditLogs,
+ Destinations: []int{dest.ID},
+ })
+ if err != nil {
+ destTeardown()
+ t.Fatalf("Error creating log stream, got error %v", err)
+ }
+
+ teardown := func() {
+ // Wait for stream to reach a stable (non-transitional) state before deleting;
+ // deleting while in "deactivating"/"provisioning" silently fails and then
+ // the destination delete returns 400 because the stream is still attached.
+ if _, err := waitForLogStreamProvisioned(context.Background(), client, stream.ID, 60, 3600); err != nil {
+ if apiErr, ok := err.(*linodego.Error); ok && apiErr.Code == 404 {
+ // Already deleted by the test itself — skip to resource cleanup.
+ destTeardown()
+ return
+ }
+ t.Logf("Warning: could not wait for stream %d to stabilize before deletion: %v", stream.ID, err)
+ }
+ if err := client.DeleteLogStream(context.Background(), stream.ID); err != nil {
+ if apiErr, ok := err.(*linodego.Error); ok && apiErr.Code == 404 {
+ // Already gone — nothing to do.
+ } else {
+ t.Errorf("Expected to delete log stream %d, but got %v", stream.ID, err)
+ }
+ } else if err := waitForLogStreamDeleted(context.Background(), client, stream.ID, 60, 3600); err != nil {
+ t.Logf("Warning: stream %d may not be fully deleted: %v", stream.ID, err)
+ }
+ destTeardown()
+ }
+
+ return client, stream, dest, teardown
+}
+
+// waitForLogStreamDeleted polls until the stream returns 404, indicating it has been fully removed.
+func waitForLogStreamDeleted(
+ ctx context.Context,
+ client *linodego.Client,
+ streamID int,
+ pollIntervalSeconds int,
+ timeoutSeconds int,
+) error {
+ deadline := time.Now().Add(time.Duration(timeoutSeconds) * time.Second)
+ for {
+ _, err := client.GetLogStream(ctx, streamID)
+ if apiErr, ok := err.(*linodego.Error); ok && apiErr.Code == 404 {
+ return nil
+ }
+ // In replay mode, if VCR has no matching interaction the fixture doesn't
+ // record a post-delete GET — treat any error as "stream gone".
+ if err != nil && testingMode == recorder.ModeReplaying {
+ return nil
+ }
+ if time.Now().After(deadline) {
+ return fmt.Errorf("timed out waiting for log stream %d to be deleted", streamID)
+ }
+ if testingMode != recorder.ModeReplaying {
+ time.Sleep(time.Duration(pollIntervalSeconds) * time.Second)
+ }
+ }
+}
+
+// waitForLogStreamProvisioned polls until the stream leaves provisioning state.
+// Stream provisioning can take up to 60 minutes; timeoutSeconds should be set accordingly.
+func waitForLogStreamProvisioned(
+ ctx context.Context,
+ client *linodego.Client,
+ streamID int,
+ pollIntervalSeconds int,
+ timeoutSeconds int,
+) (*linodego.Stream, error) {
+ deadline := time.Now().Add(time.Duration(timeoutSeconds) * time.Second)
+ for {
+ stream, err := client.GetLogStream(ctx, streamID)
+ if err != nil {
+ return nil, err
+ }
+ if stream.Status == linodego.StreamStatusActive || stream.Status == linodego.StreamStatusInactive {
+ return stream, nil
+ }
+ if time.Now().After(deadline) {
+ return nil, fmt.Errorf("timed out waiting for log stream %d to leave provisioning state", streamID)
+ }
+ if testingMode != recorder.ModeReplaying {
+ time.Sleep(time.Duration(pollIntervalSeconds) * time.Second)
+ }
+ }
+}
+
+// ---- Logs Destination tests ----
+
+func TestLogsDestination_List(t *testing.T) {
+ client, dest, _, teardown := setupLogsDestination(t, "fixtures/TestLogsDestination_List")
+ defer teardown()
+
+ destinations, err := client.ListLogsDestinations(context.Background(), nil)
+ assert.NoError(t, err)
+ assert.NotEmpty(t, destinations)
+
+ for _, d := range destinations {
+ assert.NotZero(t, d.ID)
+ assert.NotEmpty(t, d.Label)
+ }
+
+ var found *linodego.LogsDestination
+ for i := range destinations {
+ if destinations[i].ID == dest.ID {
+ found = &destinations[i]
+ break
+ }
+ }
+ require.NotNil(t, found, "created destination not found in list")
+ assert.Equal(t, linodego.LogsDestinationTypeAkamaiObjectStorage, found.Type)
+ assert.Contains(
+ t,
+ []linodego.LogsDestinationStatus{
+ linodego.LogsDestinationStatusActive,
+ linodego.LogsDestinationStatusInactive,
+ },
+ found.Status,
+ )
+ assert.NotEmpty(t, found.Details.AccessKeyID)
+ assert.NotEmpty(t, found.Details.BucketName)
+ assert.NotEmpty(t, found.Details.Host)
+}
+
+func TestLogsDestination_Delete(t *testing.T) {
+ client, dest, _, teardown := setupLogsDestination(t, "fixtures/TestLogsDestination_Delete")
+ defer teardown()
+
+ err := client.DeleteLogsDestination(context.Background(), dest.ID)
+ assert.NoError(t, err)
+
+ // Verify it's gone
+ _, err = client.GetLogsDestination(context.Background(), dest.ID)
+ require.Error(t, err)
+
+ apiErr, ok := err.(*linodego.Error)
+ require.True(t, ok, "expected linodego.Error")
+ assert.Equal(t, 404, apiErr.Code)
+}
+
+func TestLogsDestination_Get(t *testing.T) {
+ client, dest, _, teardown := setupLogsDestination(t, "fixtures/TestLogsDestination_Get")
+ defer teardown()
+
+ fetched, err := client.GetLogsDestination(context.Background(), dest.ID)
+ assert.NoError(t, err)
+ assert.NotNil(t, fetched)
+ assert.Equal(t, dest.ID, fetched.ID)
+ assert.Equal(t, dest.Label, fetched.Label)
+ assert.Equal(t, dest.Type, fetched.Type)
+}
+
+func TestLogsDestination_UpdateAndHistory(t *testing.T) {
+ client, dest, storageKey, teardown := setupLogsDestination(t, "fixtures/TestLogsDestination_UpdateAndHistory")
+ defer teardown()
+
+ newLabel := dest.Label + "-upd"
+ newPath := "updated/logs/path/"
+
+ // should update logs destination
+ updated, err := client.UpdateLogsDestination(context.Background(), dest.ID, linodego.LogsDestinationUpdateOptions{
+ Label: newLabel,
+ Details: &linodego.LogsDestinationDetailsUpdateOptions{
+ AccessKeyID: dest.Details.AccessKeyID,
+ AccessKeySecret: storageKey.SecretKey,
+ BucketName: dest.Details.BucketName,
+ Host: dest.Details.Host,
+ Path: &newPath,
+ },
+ })
+ assert.NoError(t, err)
+ require.NotNil(t, updated)
+ assert.Equal(t, newLabel, updated.Label)
+ assert.Equal(t, newPath, updated.Details.Path)
+
+ // history should contain both versions
+ history, err := client.ListLogsDestinationHistory(context.Background(), dest.ID, nil)
+ assert.NoError(t, err)
+ assert.GreaterOrEqual(t, len(history), 2)
+
+ var v1, v2 *linodego.LogsDestination
+ for i := range history {
+ switch history[i].Version {
+ case 1:
+ v1 = &history[i]
+ case 2:
+ v2 = &history[i]
+ }
+ }
+
+ require.NotNil(t, v1, "expected version 1 in history")
+ require.NotNil(t, v2, "expected version 2 in history")
+
+ assert.Equal(t, dest.Label, v1.Label)
+ assert.Equal(t, newLabel, v2.Label)
+}
+
+func TestLogsDestination_Create_InvalidSecret(t *testing.T) {
+ client, teardown := createTestClient(t, "fixtures/TestLogsDestination_Create_InvalidSecret")
+ defer teardown()
+
+ bucket, _, storageTeardown := setupObjectStorageForLogs(t, client)
+ defer storageTeardown()
+
+ _, err := client.CreateLogsDestination(context.Background(), linodego.LogsDestinationCreateOptions{
+ Label: testLabel(),
+ Type: linodego.LogsDestinationTypeAkamaiObjectStorage,
+ Details: linodego.LogsDestinationDetailsCreateOptions{
+ AccessKeyID: "1",
+ AccessKeySecret: "1",
+ BucketName: bucket.Label,
+ Host: bucket.Hostname,
+ },
+ })
+ require.Error(t, err)
+
+ apiErr, ok := err.(*linodego.Error)
+ require.True(t, ok, "expected linodego.Error")
+ assert.Equal(t, 400, apiErr.Code)
+ assert.Contains(t, apiErr.Message, "An error occurred")
+}
+
+func TestLogsDestination_Create_InvalidType(t *testing.T) {
+ client, teardown := createTestClient(t, "fixtures/TestLogsDestination_Create_InvalidType")
+ defer teardown()
+
+ bucket, storageKey, storageTeardown := setupObjectStorageForLogs(t, client)
+ defer storageTeardown()
+
+ _, err := client.CreateLogsDestination(context.Background(), linodego.LogsDestinationCreateOptions{
+ Label: testLabel(),
+ Type: "invalid_type",
+ Details: linodego.LogsDestinationDetailsCreateOptions{
+ AccessKeyID: storageKey.AccessKey,
+ AccessKeySecret: storageKey.SecretKey,
+ BucketName: bucket.Label,
+ Host: bucket.Hostname,
+ },
+ })
+ require.Error(t, err)
+
+ apiErr, ok := err.(*linodego.Error)
+ require.True(t, ok, "expected linodego.Error")
+ assert.Equal(t, 400, apiErr.Code)
+ assert.Contains(t, apiErr.Message, "[type] Must be one of akamai_object_storage, custom_https")
+}
+
+// ---- Log Stream tests ----
+
+// requireNoExistingStreams skips the test if a stream already exists on the account,
+// since only one stream is allowed per account.
+func requireNoExistingStreams(t *testing.T, client *linodego.Client) {
+ t.Helper()
+ existing, err := client.ListLogStreams(context.Background(), nil)
+ require.NoError(t, err)
+ if len(existing) > 0 {
+ ids := make([]int, len(existing))
+ for i, s := range existing {
+ ids[i] = s.ID
+ }
+ t.Skipf("existing stream(s) on account (IDs: %v); only one stream allowed per account", ids)
+ }
+}
+
+func TestLogStream_Create_InvalidDestination(t *testing.T) {
+ requireACLPLogsStreamTests(t)
+
+ client, teardown := createTestClient(t, "fixtures/TestLogStream_Create_InvalidDestination")
+ defer teardown()
+ requireNoExistingStreams(t, client)
+
+ _, err := client.CreateLogStream(context.Background(), linodego.StreamCreateOptions{
+ Label: fmt.Sprintf("go-test-invalid-dest-%d", time.Now().UnixNano()),
+ Type: linodego.StreamTypeAuditLogs,
+ Destinations: []int{999999999},
+ })
+ require.Error(t, err)
+
+ apiErr, ok := err.(*linodego.Error)
+ require.True(t, ok, "expected *linodego.Error")
+ assert.Equal(t, 400, apiErr.Code)
+ assert.Contains(t, apiErr.Message, "[destination] Destination not found")
+}
+
+func TestLogStream_Create_EmptyDestinations(t *testing.T) {
+ requireACLPLogsStreamTests(t)
+
+ client, teardown := createTestClient(t, "fixtures/TestLogStream_Create_EmptyDestinations")
+ defer teardown()
+ requireNoExistingStreams(t, client)
+
+ _, err := client.CreateLogStream(context.Background(), linodego.StreamCreateOptions{
+ Label: fmt.Sprintf("go-test-empty-dest-%d", time.Now().UnixNano()),
+ Type: linodego.StreamTypeAuditLogs,
+ Destinations: []int{},
+ })
+ require.Error(t, err)
+
+ apiErr, ok := err.(*linodego.Error)
+ require.True(t, ok, "expected *linodego.Error")
+ assert.Equal(t, 400, apiErr.Code)
+ assert.Contains(t, apiErr.Message, "[destinations] Must contain one item")
+}
+
+func TestLogStream_Create_TwoDestinations(t *testing.T) {
+ requireACLPLogsStreamTests(t)
+
+ client, teardown := createTestClient(t, "fixtures/TestLogStream_Create_TwoDestinations")
+ defer teardown()
+ requireNoExistingStreams(t, client)
+
+ bucket1, storageKey1, storageTeardown1 := setupObjectStorageForLogs(t, client)
+ defer storageTeardown1()
+ bucket2, storageKey2, storageTeardown2 := setupObjectStorageForLogs(t, client)
+ defer storageTeardown2()
+
+ dest1, err := client.CreateLogsDestination(context.Background(), linodego.LogsDestinationCreateOptions{
+ Label: testLabel(),
+ Type: linodego.LogsDestinationTypeAkamaiObjectStorage,
+ Details: linodego.LogsDestinationDetailsCreateOptions{
+ AccessKeyID: storageKey1.AccessKey,
+ AccessKeySecret: storageKey1.SecretKey,
+ BucketName: bucket1.Label,
+ Host: bucket1.Hostname,
+ },
+ })
+ require.NoError(t, err)
+ defer func() { _ = client.DeleteLogsDestination(context.Background(), dest1.ID) }()
+
+ dest2, err := client.CreateLogsDestination(context.Background(), linodego.LogsDestinationCreateOptions{
+ Label: testLabel(),
+ Type: linodego.LogsDestinationTypeAkamaiObjectStorage,
+ Details: linodego.LogsDestinationDetailsCreateOptions{
+ AccessKeyID: storageKey2.AccessKey,
+ AccessKeySecret: storageKey2.SecretKey,
+ BucketName: bucket2.Label,
+ Host: bucket2.Hostname,
+ },
+ })
+ require.NoError(t, err)
+ defer func() { _ = client.DeleteLogsDestination(context.Background(), dest2.ID) }()
+
+ _, err = client.CreateLogStream(context.Background(), linodego.StreamCreateOptions{
+ Label: fmt.Sprintf("go-test-two-dest-%d", time.Now().UnixNano()),
+ Type: linodego.StreamTypeAuditLogs,
+ Destinations: []int{dest1.ID, dest2.ID},
+ })
+ require.Error(t, err)
+
+ apiErr, ok := err.(*linodego.Error)
+ require.True(t, ok, "expected *linodego.Error")
+ assert.Equal(t, 400, apiErr.Code)
+ assert.Contains(t, apiErr.Message, "[destinations] Must contain one item")
+}
+
+func TestLogStream_Delete(t *testing.T) {
+ requireACLPLogsStreamTests(t)
+
+ client, stream, _, teardown := setupLogStream(t, "fixtures/TestLogStream_Delete")
+ defer teardown()
+
+ provisioned, err := waitForLogStreamProvisioned(context.Background(), client, stream.ID, 60, 3600)
+ require.NoError(t, err)
+
+ err = client.DeleteLogStream(context.Background(), provisioned.ID)
+ require.NoError(t, err)
+
+ _, err = client.GetLogStream(context.Background(), provisioned.ID)
+ require.Error(t, err)
+
+ apiErr, ok := err.(*linodego.Error)
+ require.True(t, ok, "expected *linodego.Error")
+ assert.Equal(t, 404, apiErr.Code)
+}
+
+func TestLogStream_List(t *testing.T) {
+ requireACLPLogsStreamTests(t)
+
+ client, stream, _, teardown := setupLogStream(t, "fixtures/TestLogStream_List")
+ defer teardown()
+
+ provisioned, err := waitForLogStreamProvisioned(context.Background(), client, stream.ID, 60, 3600)
+ require.NoError(t, err)
+
+ streams, err := client.ListLogStreams(context.Background(), nil)
+ require.NoError(t, err)
+ assert.NotEmpty(t, streams)
+
+ found := false
+ for _, s := range streams {
+ if s.ID == provisioned.ID {
+ found = true
+ break
+ }
+ }
+ assert.True(t, found, "created stream not found in list")
+}
+
+func TestLogStream_Get(t *testing.T) {
+ requireACLPLogsStreamTests(t)
+
+ client, stream, _, teardown := setupLogStream(t, "fixtures/TestLogStream_Get")
+ defer teardown()
+
+ provisioned, err := waitForLogStreamProvisioned(context.Background(), client, stream.ID, 60, 3600)
+ require.NoError(t, err)
+
+ fetched, err := client.GetLogStream(context.Background(), provisioned.ID)
+ require.NoError(t, err)
+ assert.Equal(t, provisioned.ID, fetched.ID)
+ assert.Equal(t, provisioned.Label, fetched.Label)
+ assert.Equal(t, provisioned.Status, fetched.Status)
+ assert.Len(t, fetched.Destinations, 1)
+}
+
+func TestLogStream_Update_LabelAndStatus(t *testing.T) {
+ requireACLPLogsStreamTests(t)
+
+ client, stream, _, teardown := setupLogStream(t, "fixtures/TestLogStream_Update_LabelAndStatus")
+ defer teardown()
+
+ provisioned, err := waitForLogStreamProvisioned(context.Background(), client, stream.ID, 60, 3600)
+ require.NoError(t, err)
+
+ originalLabel := provisioned.Label
+ originalStatus := provisioned.Status
+ versionBefore := provisioned.Version
+
+ newLabel := originalLabel + "-upd"
+ // When active, requesting inactive triggers "deactivating" first; vice versa triggers "provisioning".
+ // Accept both the requested status and its transitional counterpart.
+ var newStatus linodego.StreamStatus
+ var expectedStatuses []linodego.StreamStatus
+ if originalStatus == linodego.StreamStatusInactive {
+ newStatus = linodego.StreamStatusActive
+ expectedStatuses = []linodego.StreamStatus{linodego.StreamStatusActive, linodego.StreamStatusProvisioning}
+ } else {
+ newStatus = linodego.StreamStatusInactive
+ expectedStatuses = []linodego.StreamStatus{linodego.StreamStatusInactive, linodego.StreamStatusDeactivating}
+ }
+
+ _, err = client.UpdateLogStream(context.Background(), provisioned.ID, linodego.StreamUpdateOptions{
+ Label: &newLabel,
+ Status: &newStatus,
+ })
+ require.NoError(t, err)
+
+ updated, err := client.GetLogStream(context.Background(), provisioned.ID)
+ require.NoError(t, err)
+ assert.Equal(t, newLabel, updated.Label)
+ assert.Contains(t, expectedStatuses, updated.Status)
+
+ history, err := client.ListLogStreamHistory(context.Background(), provisioned.ID, nil)
+ require.NoError(t, err)
+
+ var snapOriginal, snapUpdated *linodego.Stream
+ for i := range history {
+ switch history[i].Version {
+ case versionBefore:
+ snapOriginal = &history[i]
+ case updated.Version:
+ snapUpdated = &history[i]
+ }
+ }
+ require.NotNil(t, snapOriginal, "original version not found in history")
+ require.NotNil(t, snapUpdated, "updated version not found in history")
+ assert.Equal(t, originalLabel, snapOriginal.Label)
+ assert.Equal(t, newLabel, snapUpdated.Label)
+ assert.Equal(t, provisioned.ID, snapUpdated.ID)
+}
+
+func TestLogStream_Update_Destinations(t *testing.T) {
+ requireACLPLogsStreamTests(t)
+
+ client, stream, dest, teardown := setupLogStream(t, "fixtures/TestLogStream_Update_Destinations")
+ defer teardown()
+
+ objBucket2, objKey2, objTeardown2 := setupObjectStorageForLogs(t, client)
+ defer objTeardown2()
+ secondaryDest, err := client.CreateLogsDestination(context.Background(), linodego.LogsDestinationCreateOptions{
+ Label: testLabel(),
+ Type: linodego.LogsDestinationTypeAkamaiObjectStorage,
+ Details: linodego.LogsDestinationDetailsCreateOptions{
+ AccessKeyID: objKey2.AccessKey,
+ AccessKeySecret: objKey2.SecretKey,
+ BucketName: objBucket2.Label,
+ Host: objBucket2.Hostname,
+ },
+ })
+ require.NoError(t, err)
+ defer func() {
+ _ = client.DeleteLogsDestination(context.Background(), secondaryDest.ID)
+ }()
+
+ provisioned, err := waitForLogStreamProvisioned(context.Background(), client, stream.ID, 60, 3600)
+ require.NoError(t, err)
+
+ versionBefore := provisioned.Version
+
+ updated, err := client.UpdateLogStream(context.Background(), provisioned.ID, linodego.StreamUpdateOptions{
+ Destinations: []int{secondaryDest.ID},
+ })
+ require.NoError(t, err)
+ require.Len(t, updated.Destinations, 1)
+ assert.Equal(t, secondaryDest.ID, updated.Destinations[0].ID)
+
+ defer func() {
+ _, _ = client.UpdateLogStream(context.Background(), provisioned.ID, linodego.StreamUpdateOptions{
+ Destinations: []int{dest.ID},
+ })
+ }()
+
+ history, err := client.ListLogStreamHistory(context.Background(), provisioned.ID, nil)
+ require.NoError(t, err)
+
+ var snapOriginal, snapUpdated *linodego.Stream
+ for i := range history {
+ switch history[i].Version {
+ case versionBefore:
+ snapOriginal = &history[i]
+ case updated.Version:
+ snapUpdated = &history[i]
+ }
+ }
+ require.NotNil(t, snapOriginal, "original version not found in history")
+ require.NotNil(t, snapUpdated, "updated version not found in history")
+ assert.Equal(t, dest.ID, snapOriginal.Destinations[0].ID)
+ assert.Equal(t, secondaryDest.ID, snapUpdated.Destinations[0].ID)
+}
diff --git a/test/integration/monitor_metrics_definitions_test.go b/test/integration/monitor_metrics_definitions_test.go
index 76893b447..b4398b63d 100644
--- a/test/integration/monitor_metrics_definitions_test.go
+++ b/test/integration/monitor_metrics_definitions_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/require"
)
diff --git a/test/integration/monitor_services_test.go b/test/integration/monitor_services_test.go
index c26a20768..f390f313c 100644
--- a/test/integration/monitor_services_test.go
+++ b/test/integration/monitor_services_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
diff --git a/test/integration/monitor_services_token_creation_test.go b/test/integration/monitor_services_token_creation_test.go
index 465416c7a..12b54ea8e 100644
--- a/test/integration/monitor_services_token_creation_test.go
+++ b/test/integration/monitor_services_token_creation_test.go
@@ -3,14 +3,17 @@ package integration
import (
"context"
"testing"
+ "time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestMonitorServicesTokenCreation_Get_smoke(t *testing.T) {
- client, _, teardown, err := setupPostgresDatabase(t, nil, "fixtures/TestMonitorServicesTokenCreation_Get")
+ ctx := waitContext(t, 5400*time.Second)
+
+ client, _, teardown, err := setupPostgresDatabase(t, ctx, nil, "fixtures/TestMonitorServicesTokenCreation_Get")
if err != nil {
t.Error(err)
}
diff --git a/test/integration/mysql_db_config_test.go b/test/integration/mysql_db_config_test.go
index 9ad8f3052..77a87660b 100644
--- a/test/integration/mysql_db_config_test.go
+++ b/test/integration/mysql_db_config_test.go
@@ -4,8 +4,9 @@ import (
"context"
"os"
"testing"
+ "time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -195,12 +196,15 @@ func TestDatabaseMySQL_EngineConfig_Get(t *testing.T) {
}
func TestDatabaseMySQL_EngineConfig_Suite(t *testing.T) {
+ ctx := waitContext(t, 6720*time.Second)
+
databaseModifiers := []mysqlDatabaseModifier{
createMySQLOptionsModifier(),
}
client, database, teardown, err := setupMySQLDatabase(
t,
+ ctx,
databaseModifiers,
"fixtures/TestDatabaseMySQL_EngineConfig_Suite",
)
@@ -237,7 +241,7 @@ func TestDatabaseMySQL_EngineConfig_Suite(t *testing.T) {
t.Errorf("failed to update db %d: %v", database.ID, err)
}
- waitForDatabaseUpdated(t, client, updatedDB.ID, linodego.DatabaseEngineTypeMySQL, updatedDB.Created)
+ waitForDatabaseUpdated(t, ctx, client, updatedDB.ID, linodego.DatabaseEngineTypeMySQL, updatedDB.Created)
assertUpdatedSQLFields(t, updatedDB.EngineConfig.MySQL)
}
diff --git a/test/integration/mysql_test.go b/test/integration/mysql_test.go
index a873563e2..f4516d751 100644
--- a/test/integration/mysql_test.go
+++ b/test/integration/mysql_test.go
@@ -8,11 +8,13 @@ import (
"github.com/dnaeon/go-vcr/recorder"
"github.com/google/go-cmp/cmp"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestDatabase_MySQL_Suite(t *testing.T) {
- client, database, teardown, err := setupMySQLDatabase(t, nil, "fixtures/TestDatabase_MySQL_Suite")
+ ctx := waitContext(t, 12000*time.Second)
+
+ client, database, teardown, err := setupMySQLDatabase(t, ctx, nil, "fixtures/TestDatabase_MySQL_Suite")
if err != nil {
t.Error(err)
}
@@ -55,7 +57,7 @@ func TestDatabase_MySQL_Suite(t *testing.T) {
updatedLabel := database.Label + "-updated"
opts := linodego.MySQLUpdateOptions{
- AllowList: &allowList,
+ AllowList: allowList,
Label: updatedLabel,
Updates: &updatedWindow,
}
@@ -64,7 +66,7 @@ func TestDatabase_MySQL_Suite(t *testing.T) {
t.Errorf("failed to update db %d: %v", database.ID, err)
}
- waitForDatabaseUpdated(t, client, db.ID, linodego.DatabaseEngineTypeMySQL, db.Created)
+ waitForDatabaseUpdated(t, ctx, client, db.ID, linodego.DatabaseEngineTypeMySQL, db.Created)
if db.ID != database.ID {
t.Errorf("updated db does not match original id")
@@ -117,15 +119,15 @@ func TestDatabase_MySQL_Suite(t *testing.T) {
// Wait for the DB to enter updating status
if err := client.WaitForDatabaseStatus(
- context.Background(), database.ID, linodego.DatabaseEngineTypeMySQL,
- linodego.DatabaseStatusUpdating, 240); err != nil {
+ ctx, database.ID, linodego.DatabaseEngineTypeMySQL,
+ linodego.DatabaseStatusUpdating); err != nil {
t.Fatalf("failed to wait for database updating: %s", err)
}
// Wait for the DB to re-enter active status
if err := client.WaitForDatabaseStatus(
- context.Background(), database.ID, linodego.DatabaseEngineTypeMySQL,
- linodego.DatabaseStatusActive, 2400); err != nil {
+ ctx, database.ID, linodego.DatabaseEngineTypeMySQL,
+ linodego.DatabaseStatusActive); err != nil {
t.Fatalf("failed to wait for database active: %s", err)
}
@@ -135,8 +137,8 @@ func TestDatabase_MySQL_Suite(t *testing.T) {
// Wait for the DB to enter suspended status
if err := client.WaitForDatabaseStatus(
- context.Background(), database.ID, linodego.DatabaseEngineTypeMySQL,
- linodego.DatabaseStatusSuspended, 240); err != nil {
+ ctx, database.ID, linodego.DatabaseEngineTypeMySQL,
+ linodego.DatabaseStatusSuspended); err != nil {
t.Fatalf("failed to wait for database suspended: %s", err)
}
@@ -146,8 +148,8 @@ func TestDatabase_MySQL_Suite(t *testing.T) {
// Wait for the DB to re-enter active status
if err := client.WaitForDatabaseStatus(
- context.Background(), database.ID, linodego.DatabaseEngineTypeMySQL,
- linodego.DatabaseStatusActive, 2400); err != nil {
+ ctx, database.ID, linodego.DatabaseEngineTypeMySQL,
+ linodego.DatabaseStatusActive); err != nil {
t.Fatalf("failed to wait for database active: %s", err)
}
}
@@ -161,7 +163,7 @@ func createMySQLDatabase(t *testing.T, client *linodego.Client,
createOpts := linodego.MySQLCreateOptions{
Label: "go-mysql-test-def" + randLabel(),
- Region: getRegionsWithCaps(t, client, []string{"Managed Databases"})[0],
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityDBAAS})[0],
Type: "g6-nanode-1",
Engine: "mysql/8",
ClusterSize: 3,
@@ -208,7 +210,7 @@ func createMySQLDatabase(t *testing.T, client *linodego.Client,
return database, teardown, nil
}
-func setupMySQLDatabase(t *testing.T, databaseMofidiers []mysqlDatabaseModifier,
+func setupMySQLDatabase(t *testing.T, ctx context.Context, databaseMofidiers []mysqlDatabaseModifier,
fixturesYaml string,
) (*linodego.Client, *linodego.MySQLDatabase, func(), error) {
t.Helper()
@@ -219,8 +221,8 @@ func setupMySQLDatabase(t *testing.T, databaseMofidiers []mysqlDatabaseModifier,
t.Fatalf("failed to create db: %s", err)
}
- _, err = client.WaitForEventFinished(context.Background(), database.ID, linodego.EntityDatabase,
- linodego.ActionDatabaseCreate, now, 5400)
+ _, err = client.WaitForEventFinished(ctx, database.ID, linodego.EntityDatabase,
+ linodego.ActionDatabaseCreate, now)
if err != nil {
t.Fatalf("failed to wait for db create event: %s", err)
}
diff --git a/test/integration/network_ips_test.go b/test/integration/network_ips_test.go
index fef3d2f4b..f0135e95b 100644
--- a/test/integration/network_ips_test.go
+++ b/test/integration/network_ips_test.go
@@ -6,8 +6,9 @@ import (
"strings"
"testing"
- "github.com/linode/linodego"
- . "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
+ . "github.com/linode/linodego/v2"
+ "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -97,7 +98,7 @@ func TestIPAddresses_List_smoke(t *testing.T) {
}
rdns := fmt.Sprintf("%s.nip.io", ip.Address)
- _, err = client.UpdateIPAddressV2(context.Background(), ip.Address, IPAddressUpdateOptionsV2{
+ _, err = client.UpdateIPAddress(context.Background(), ip.Address, IPAddressUpdateOptions{
RDNS: linodego.Pointer(linodego.Pointer(rdns)),
})
if err != nil {
@@ -135,6 +136,8 @@ func TestIPAddresses_List_smoke(t *testing.T) {
for _, ip := range reservedIpAddresses {
if !ip.Reserved {
t.Errorf("IP %s is in the reserved list but has Reserved field set to false", ip.Address)
+ } else {
+ assert.NotNil(t, ip.Tags)
}
}
@@ -151,6 +154,8 @@ func TestIPAddresses_List_smoke(t *testing.T) {
for _, ip := range unreservedIpAddresses {
if ip.Reserved {
t.Errorf("IP %s is in the non-reserved list but has Reserved field set to true", ip.Address)
+ } else {
+ assert.Nil(t, ip.Tags)
}
}
}
@@ -191,18 +196,18 @@ func TestIPAddress_Update(t *testing.T) {
originalRDNS := i.IPv4.Public[0].RDNS
// Update RDNS to nip.io
- updateOpts := IPAddressUpdateOptionsV2{
+ updateOpts := IPAddressUpdateOptions{
RDNS: linodego.Pointer(linodego.Pointer(fmt.Sprintf("%s.nip.io", i.IPv4.Public[0].Address))),
}
- ip, err := client.UpdateIPAddressV2(context.Background(), address, updateOpts)
+ ip, err := client.UpdateIPAddress(context.Background(), address, updateOpts)
require.NoError(t, err)
// Update RDNS to default
- updateOpts = IPAddressUpdateOptionsV2{
+ updateOpts = IPAddressUpdateOptions{
RDNS: linodego.Pointer[*string](nil),
}
- ip, err = client.UpdateIPAddressV2(context.Background(), ip.Address, updateOpts)
+ ip, err = client.UpdateIPAddress(context.Background(), ip.Address, updateOpts)
require.NoError(t, err)
require.NotNil(t, ip)
@@ -219,10 +224,10 @@ func TestIPAddress_Update(t *testing.T) {
// Scenario 1: Convert ephemeral IP to reserved IP
ephemeralIP := instance.IPv4[0].String()
- updateOpts = IPAddressUpdateOptionsV2{
+ updateOpts = IPAddressUpdateOptions{
Reserved: &reservedTrue,
}
- updatedIP, err := client.UpdateIPAddressV2(context.Background(), ephemeralIP, updateOpts)
+ updatedIP, err := client.UpdateIPAddress(context.Background(), ephemeralIP, updateOpts)
if err != nil {
t.Fatalf("Failed to convert ephemeral IP to reserved: %v", err)
}
@@ -238,10 +243,10 @@ func TestIPAddress_Update(t *testing.T) {
}
defer client.DeleteReservedIPAddress(context.Background(), reservedIP)
- updateOpts = IPAddressUpdateOptionsV2{
+ updateOpts = IPAddressUpdateOptions{
Reserved: &reservedTrue,
}
- updatedIP, err = client.UpdateIPAddressV2(context.Background(), reservedIP, updateOpts)
+ updatedIP, err = client.UpdateIPAddress(context.Background(), reservedIP, updateOpts)
if err != nil {
t.Fatalf("Failed to update reserved IP: %v", err)
}
@@ -252,10 +257,10 @@ func TestIPAddress_Update(t *testing.T) {
// Scenario 3: Convert reserved to ephemeral
ephemeralIP = instance.IPv4[0].String()
- updateOpts = IPAddressUpdateOptionsV2{
+ updateOpts = IPAddressUpdateOptions{
Reserved: &reservedFalse,
}
- updatedIP, err = client.UpdateIPAddressV2(context.Background(), ephemeralIP, updateOpts)
+ updatedIP, err = client.UpdateIPAddress(context.Background(), ephemeralIP, updateOpts)
if err != nil {
t.Fatalf("Failed to update ephemeral IP: %v", err)
}
@@ -285,10 +290,10 @@ func TestIPAddress_Update(t *testing.T) {
t.Fatalf("Failed to assign reserved IP: %v", err)
}
- updateOpts = IPAddressUpdateOptionsV2{
+ updateOpts = IPAddressUpdateOptions{
Reserved: &reservedFalse,
}
- updatedIP, err = client.UpdateIPAddressV2(context.Background(), reservedIP, updateOpts)
+ updatedIP, err = client.UpdateIPAddress(context.Background(), reservedIP, updateOpts)
if err != nil {
t.Fatalf("Failed to convert assigned reserved IP to ephemeral: %v", err)
}
@@ -303,11 +308,11 @@ func TestIPAddress_Update(t *testing.T) {
t.Fatalf("Failed to create reserved IP: %v", unassignedResIpErr)
}
- updateOpts = IPAddressUpdateOptionsV2{
+ updateOpts = IPAddressUpdateOptions{
Reserved: &reservedTrue,
RDNS: linodego.Pointer(linodego.Pointer("sample rdns")),
}
- _, err = client.UpdateIPAddressV2(context.Background(), unassignedResIP, updateOpts)
+ _, err = client.UpdateIPAddress(context.Background(), unassignedResIP, updateOpts)
if err == nil {
t.Fatalf("Expected error when setting RDNS for unassigned reserved IP, but got none")
}
@@ -321,10 +326,10 @@ func TestIPAddress_Update(t *testing.T) {
t.Fatalf("Failed to create reserved IP: %v", err)
}
- updateOpts = IPAddressUpdateOptionsV2{
+ updateOpts = IPAddressUpdateOptions{
Reserved: &reservedTrue,
}
- updatedIP, err = client.UpdateIPAddressV2(context.Background(), reservedIP, updateOpts)
+ updatedIP, err = client.UpdateIPAddress(context.Background(), reservedIP, updateOpts)
if err != nil {
t.Fatalf("Failed to update unassigned reserved IP: %v", err)
}
@@ -341,10 +346,10 @@ func TestIPAddress_Update(t *testing.T) {
t.Fatalf("Failed to create reserved IP: %v", err)
}
- updateOpts = IPAddressUpdateOptionsV2{
+ updateOpts = IPAddressUpdateOptions{
Reserved: &reservedFalse,
}
- _, err = client.UpdateIPAddressV2(context.Background(), reservedIP, updateOpts)
+ _, err = client.UpdateIPAddress(context.Background(), reservedIP, updateOpts)
if err != nil {
t.Fatalf("Failed to convert unassigned reserved IP to unassigned: %v", err)
}
@@ -359,11 +364,11 @@ func TestIPAddress_Update(t *testing.T) {
invalidResIp := "123.72.121.76"
- updateOpts = IPAddressUpdateOptionsV2{
+ updateOpts = IPAddressUpdateOptions{
Reserved: &reservedFalse,
}
- updatedIP, err = client.UpdateIPAddressV2(context.Background(), invalidResIp, updateOpts)
+ updatedIP, err = client.UpdateIPAddress(context.Background(), invalidResIp, updateOpts)
if err == nil {
t.Fatalf("Expected error indicating the IP address is invalid, got nil")
}
@@ -378,7 +383,10 @@ func TestIPAddress_Instance_Delete(t *testing.T) {
t.Error(err)
}
- ip, err := client.AddInstanceIPAddress(context.TODO(), instance.ID, true)
+ opts := linodego.InstanceIPAddOptions{
+ Public: true,
+ }
+ ip, err := client.AddInstanceIPAddress(context.TODO(), instance.ID, opts)
if err != nil {
t.Fatalf("failed to allocate public IPv4 for instance (%d): %s", instance.ID, err)
}
@@ -487,7 +495,10 @@ func TestIPAddress_Instance_Share(t *testing.T) {
t.Error(err)
}
- ip, err := client.AddInstanceIPAddress(context.Background(), newInstance.ID, true)
+ opts := linodego.InstanceIPAddOptions{
+ Public: true,
+ }
+ ip, err := client.AddInstanceIPAddress(context.Background(), newInstance.ID, opts)
if err != nil {
t.Error(err)
}
diff --git a/test/integration/network_ranges_test.go b/test/integration/network_ranges_test.go
index 277cd4d3e..2e1812e15 100644
--- a/test/integration/network_ranges_test.go
+++ b/test/integration/network_ranges_test.go
@@ -9,7 +9,7 @@ import (
"testing"
"github.com/google/go-cmp/cmp"
- . "github.com/linode/linodego"
+ . "github.com/linode/linodego/v2"
)
var testIPv6RangeCreateOptions = IPv6RangeCreateOptions{
diff --git a/test/integration/network_reserved_ips_test.go b/test/integration/network_reserved_ips_test.go
index 9316fd8b8..314456e64 100644
--- a/test/integration/network_reserved_ips_test.go
+++ b/test/integration/network_reserved_ips_test.go
@@ -2,13 +2,137 @@ package integration
import (
"context"
+ "fmt"
"strings"
"testing"
- "github.com/linode/linodego"
- . "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
+ "github.com/stretchr/testify/assert"
)
+// TestReservedIPAddress_ReserveWithTags verifies that tags can be passed when reserving
+// an IP and are returned in the response.
+func TestReservedIPAddress_ReserveWithTags(t *testing.T) {
+ client, teardown := createTestClient(t, "fixtures/TestReservedIPAddress_ReserveWithTags")
+ defer teardown()
+
+ resIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0],
+ Tags: []string{"lb"},
+ })
+ if err != nil {
+ t.Fatalf("Failed to reserve IP with tags: %v", err)
+ }
+
+ if resIP.Address == "" {
+ t.Fatal("Expected a non-empty address in the response")
+ }
+ if !resIP.Reserved {
+ t.Errorf("Expected Reserved=true, got false")
+ }
+ found := false
+ for _, tag := range resIP.Tags {
+ if tag == "lb" {
+ found = true
+ break
+ }
+ }
+ if !found {
+ t.Errorf("Expected tag 'lb' in response tags, got %v", resIP.Tags)
+ }
+
+ defer func() {
+ if err := client.DeleteReservedIPAddress(context.Background(), resIP.Address); err != nil {
+ t.Errorf("Failed to delete reserved IP %s: %v", resIP.Address, err)
+ }
+ }()
+
+ // Verify tags round-trip via Get
+ fetched, err := client.GetReservedIPAddress(context.Background(), resIP.Address)
+ if err != nil {
+ t.Fatalf("Failed to get reserved IP: %v", err)
+ }
+ foundInFetch := false
+ for _, tag := range fetched.Tags {
+ if tag == "lb" {
+ foundInFetch = true
+ break
+ }
+ }
+ if !foundInFetch {
+ t.Errorf("Expected tag 'lb' in fetched IP tags, got %v", fetched.Tags)
+ }
+}
+
+// TestReservedIPAddress_UpdateTags verifies that PUT /networking/reserved/ips/{address}
+// replaces tags in full.
+func TestReservedIPAddress_UpdateTags(t *testing.T) {
+ client, teardown := createTestClient(t, "fixtures/TestReservedIPAddress_UpdateTags")
+ defer teardown()
+
+ // Reserve without tags first
+ resIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0],
+ })
+ if err != nil {
+ t.Fatalf("Failed to reserve IP: %v", err)
+ }
+ defer func() {
+ if err := client.DeleteReservedIPAddress(context.Background(), resIP.Address); err != nil {
+ t.Errorf("Failed to delete reserved IP %s: %v", resIP.Address, err)
+ }
+ }()
+
+ // Set tags
+ updated, err := client.UpdateReservedIPAddress(context.Background(), resIP.Address, linodego.UpdateReservedIPOptions{
+ Tags: []string{"lb"},
+ })
+ if err != nil {
+ t.Fatalf("Failed to update reserved IP tags: %v", err)
+ }
+ if len(updated.Tags) != 1 || updated.Tags[0] != "lb" {
+ t.Errorf("Expected tags=[lb] after update, got %v", updated.Tags)
+ }
+
+ // Replace tags entirely (full replacement semantics)
+ cleared, err := client.UpdateReservedIPAddress(context.Background(), resIP.Address, linodego.UpdateReservedIPOptions{
+ Tags: []string{},
+ })
+ if err != nil {
+ t.Fatalf("Failed to clear reserved IP tags: %v", err)
+ }
+ if len(cleared.Tags) != 0 {
+ t.Errorf("Expected empty tags after clearing, got %v", cleared.Tags)
+ }
+}
+
+// TestReservedIPTypes_List verifies that GET /networking/reserved/ips/types returns
+// pricing structs with all expected fields populated.
+func TestReservedIPTypes_List(t *testing.T) {
+ client, teardown := createTestClient(t, "fixtures/TestReservedIPTypes_List")
+ defer teardown()
+
+ types, err := client.ListReservedIPTypes(context.Background(), nil)
+ if err != nil {
+ t.Fatalf("Failed to list reserved IP types: %v", err)
+ }
+ if len(types) == 0 {
+ t.Fatal("Expected at least one reserved IP type, got none")
+ }
+
+ for _, rt := range types {
+ if rt.ID == "" {
+ t.Errorf("Expected non-empty ID for reserved IP type")
+ }
+ if rt.Label == "" {
+ t.Errorf("Expected non-empty Label for reserved IP type")
+ }
+ if rt.Price.Hourly == 0 && rt.Price.Monthly == 0 {
+ t.Errorf("Expected non-zero pricing for type %s", rt.ID)
+ }
+ }
+}
+
// TestReservedIPAddresses_InsufficientPermissions tests the behavior when a user account
// doesn't have the permission to use the Reserved IP feature
func TestReservedIPAddresses_InsufficientPermissions(t *testing.T) {
@@ -20,8 +144,9 @@ func TestReservedIPAddresses_InsufficientPermissions(t *testing.T) {
defer teardown()
defer func() { validTestAPIKey = original }()
+ region := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0]
filter := ""
- ips, listErr := client.ListReservedIPAddresses(context.Background(), NewListOptions(0, filter))
+ ips, listErr := client.ListReservedIPAddresses(context.Background(), linodego.NewListOptions(0, filter))
if listErr == nil {
t.Errorf("Expected error due to insufficient permissions, but got none %v", ips)
} else {
@@ -33,8 +158,8 @@ func TestReservedIPAddresses_InsufficientPermissions(t *testing.T) {
}
// Attempt to reserve an IP address
- resIP, resErr := client.ReserveIPAddress(context.Background(), ReserveIPOptions{
- Region: "us-east",
+ resIP, resErr := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{
+ Region: region,
})
if resErr == nil {
t.Errorf("Expected error when reserving IP due to insufficient permissions, but got none")
@@ -69,7 +194,7 @@ func TestReservedIPAddresses_EndToEndTest(t *testing.T) {
filter := ""
- ipList, err := client.ListReservedIPAddresses(context.Background(), NewListOptions(0, filter))
+ ipList, err := client.ListReservedIPAddresses(context.Background(), linodego.NewListOptions(0, filter))
if err != nil {
t.Fatalf("Error listing IP addresses: %v", err)
}
@@ -77,8 +202,9 @@ func TestReservedIPAddresses_EndToEndTest(t *testing.T) {
initialCount := len(ipList)
// Attempt to reserve an IP
- resIP, resErr := client.ReserveIPAddress(context.Background(), ReserveIPOptions{
- Region: "us-east",
+ resIP, resErr := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0],
+ Tags: []string{"lb"},
})
if resErr != nil {
@@ -101,7 +227,7 @@ func TestReservedIPAddresses_EndToEndTest(t *testing.T) {
}
// Verify the list of IPs has increased
- verifyList, verifyErr := client.ListReservedIPAddresses(context.Background(), NewListOptions(0, filter))
+ verifyList, verifyErr := client.ListReservedIPAddresses(context.Background(), linodego.NewListOptions(0, filter))
if verifyErr != nil {
t.Fatalf("Error listing IP addresses after reservation: %v", verifyErr)
}
@@ -110,6 +236,15 @@ func TestReservedIPAddresses_EndToEndTest(t *testing.T) {
t.Errorf("Expected IP count to increase by 1, got %d, want %d", len(verifyList), initialCount+1)
}
+ for _, addressIP := range verifyList {
+ if addressIP.Address == resIP.Address {
+ assert.Nil(t, addressIP.AssignedEntity)
+ assert.True(t, addressIP.Reserved)
+ assert.Equal(t, 0, addressIP.LinodeID)
+ assert.Equal(t, []string{"lb"}, addressIP.Tags)
+ }
+ }
+
// Delete the reserved IP
delErr := client.DeleteReservedIPAddress(context.Background(), resIP.Address)
if delErr != nil {
@@ -122,7 +257,7 @@ func TestReservedIPAddresses_EndToEndTest(t *testing.T) {
t.Errorf("Expected error when fetching %s, got nil", resIP.Address)
}
- verifyDelList, verifyDelErr := client.ListReservedIPAddresses(context.Background(), NewListOptions(0, filter))
+ verifyDelList, verifyDelErr := client.ListReservedIPAddresses(context.Background(), linodego.NewListOptions(0, filter))
if verifyDelErr != nil {
t.Fatalf("Error listing IP addresses after deletion: %v", verifyDelErr)
}
@@ -137,13 +272,14 @@ func TestReservedIPAddresses_ListIPAddressesVariants(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestReservedIPAddresses_ListIPAddressesVariants")
defer teardown()
- expected_ips := 2
+ expectedIPs := 2
+ region := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0]
- // Reserve two IP addresses in us-east region
- reservedIPs := make([]string, expected_ips)
- for i := 0; i < expected_ips; i++ {
+ // Reserve two IP addresses in region
+ reservedIPs := make([]string, expectedIPs)
+ for i := 0; i < expectedIPs; i++ {
reserveIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{
- Region: "us-east",
+ Region: region,
})
if err != nil {
t.Fatalf("Failed to reserve IP %d: %v", i+1, err)
@@ -162,20 +298,20 @@ func TestReservedIPAddresses_ListIPAddressesVariants(t *testing.T) {
}
}()
- // Create ListOptions with the filter for reserved IPs in us-east region
+ // Create ListOptions with the filter for reserved IPs in region
listOptions := linodego.ListOptions{
PageOptions: &linodego.PageOptions{
Page: 0,
},
- Filter: "{\"reserved\":true,\"region\":\"us-east\"}",
+ Filter: fmt.Sprintf("{\"reserved\":true,\"region\":\"%s\"}", region),
}
ipList, err := client.ListIPAddresses(context.Background(), &listOptions)
if err != nil {
- t.Fatalf("Error listing reserved IP addresses in us-east: %v", err)
+ t.Fatalf("Error listing reserved IP addresses in %s: %v", region, err)
}
- t.Logf("Retrieved %d reserved IP addresses in us-east", len(ipList))
+ t.Logf("Retrieved %d reserved IP addresses in %s", len(ipList), region)
// Check if at least the two reserved IPs are in the list
foundReservedIPs := 0
@@ -183,8 +319,8 @@ func TestReservedIPAddresses_ListIPAddressesVariants(t *testing.T) {
if !ip.Reserved {
t.Errorf("Expected all IPs to be reserved, but found non-reserved IP: %s", ip.Address)
}
- if ip.Region != "us-east" {
- t.Errorf("Expected all IPs to be in us-east region, but found IP in %s region: %s", ip.Region, ip.Address)
+ if ip.Region != region {
+ t.Errorf("Expected all IPs to be in %s region, but found IP in %s region: %s", region, ip.Region, ip.Address)
}
for _, reservedIP := range reservedIPs {
if ip.Address == reservedIP {
@@ -193,8 +329,8 @@ func TestReservedIPAddresses_ListIPAddressesVariants(t *testing.T) {
}
}
}
- if foundReservedIPs != expected_ips {
- t.Errorf("Expected %d but found %d while listing reserved IP addresses", expected_ips, foundReservedIPs)
+ if foundReservedIPs != expectedIPs {
+ t.Errorf("Expected %d but found %d while listing reserved IP addresses", expectedIPs, foundReservedIPs)
}
}
@@ -204,8 +340,8 @@ func TestReservedIPAddresses_GetIPAddressVariants(t *testing.T) {
defer teardown()
// Reserve an IP for testing
- resIP, resErr := client.ReserveIPAddress(context.Background(), ReserveIPOptions{
- Region: "us-east",
+ resIP, resErr := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0],
})
if resErr != nil {
@@ -269,19 +405,19 @@ func TestReservedIPAddresses_ReserveIPAddressVariants(t *testing.T) {
defer cleanupIPs()
// Test reserving IP with omitted region
- _, omitErr := client.ReserveIPAddress(context.Background(), ReserveIPOptions{})
+ _, omitErr := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{})
if omitErr == nil {
t.Errorf("Expected error when reserving IP with omitted region, got nil")
}
// Test reserving IP with invalid region
- _, invalidErr := client.ReserveIPAddress(context.Background(), ReserveIPOptions{Region: "us"})
+ _, invalidErr := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: "us"})
if invalidErr == nil {
t.Errorf("Expected error when reserving IP with invalid region, got nil")
}
// Test reserving IP with empty region
- _, emptyErr := client.ReserveIPAddress(context.Background(), ReserveIPOptions{Region: ""})
+ _, emptyErr := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: ""})
if emptyErr == nil {
t.Errorf("Expected error when reserving IP with empty region, got nil")
}
@@ -289,7 +425,7 @@ func TestReservedIPAddresses_ReserveIPAddressVariants(t *testing.T) {
// Make 2 valid IP Reservations
for i := 0; i < 2; i++ {
reserveIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{
- Region: "us-east",
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0],
})
if err != nil {
t.Fatalf("Failed to reserve IP %d: %v", i+1, err)
@@ -320,7 +456,7 @@ func TestReservedIPAddresses_ExceedLimit(t *testing.T) {
// Reserve IPs until the limit is reached and assert the error message
for i := 0; i < 100; i++ {
reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{
- Region: "us-east",
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0],
})
if err != nil {
expectedErrorMessage := "[400] Additional Reserved IPv4 addresses require technical justification."
@@ -345,7 +481,9 @@ func TestReservedIPAddresses_DeleteIPAddressVariants(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestReservedIPAddresses_DeleteIPAddressVariants")
defer teardown()
- validRes, validErr := client.ReserveIPAddress(context.Background(), ReserveIPOptions{Region: "us-east"})
+ validRes, validErr := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0],
+ })
if validErr != nil {
t.Fatalf("Failed to reserve IP. This test should start with 0 reservations or reservations < limit. Error from the API: %v", validErr)
}
@@ -357,7 +495,7 @@ func TestReservedIPAddresses_DeleteIPAddressVariants(t *testing.T) {
t.Logf("Successfully reserved IP: %+v", validRes)
filter := ""
- ipList, listErr := client.ListReservedIPAddresses(context.Background(), NewListOptions(0, filter))
+ ipList, listErr := client.ListReservedIPAddresses(context.Background(), linodego.NewListOptions(0, filter))
if listErr != nil {
t.Fatalf("Error listing IP addresses: %v", listErr)
}
@@ -372,7 +510,7 @@ func TestReservedIPAddresses_DeleteIPAddressVariants(t *testing.T) {
}
// Verify deletion
- verifyDelList, verifyDelErr := client.ListReservedIPAddresses(context.Background(), NewListOptions(0, filter))
+ verifyDelList, verifyDelErr := client.ListReservedIPAddresses(context.Background(), linodego.NewListOptions(0, filter))
if verifyDelErr != nil {
t.Fatalf("Error listing IP addresses after deletion: %v", verifyDelErr)
}
@@ -395,11 +533,13 @@ func TestReservedIPAddresses_DeleteIPAddressVariants(t *testing.T) {
}
func TestReservedIPAddresses_GetIPReservationStatus(t *testing.T) {
- client, teardown := createTestClient(t, "TestReservedIPAddresses_GetInstanceIPReservationStatus")
+ client, teardown := createTestClient(t, "fixtures/TestReservedIPAddresses_GetIPReservationStatus")
defer teardown()
+ region := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes, linodego.CapabilityCloudFirewall})[0]
+
// Create a Linode with a reserved IP
- reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: "us-east"})
+ reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: region})
if err != nil {
t.Fatalf("Failed to reserve IP: %v", err)
}
@@ -410,7 +550,10 @@ func TestReservedIPAddresses_GetIPReservationStatus(t *testing.T) {
}
}()
- instanceWithReservedIP, instanceTeardown, err := createInstanceWithReservedIP(t, client, reservedIP.Address)
+ instanceWithReservedIP, instanceTeardown, err := createInstanceWithReservedIP(
+ t, client, reservedIP.Address, func(client *linodego.Client, opts *linodego.InstanceCreateOptions) {
+ opts.Region = region
+ })
if err != nil {
t.Fatalf("Error creating instance with reserved IP: %s", err)
}
@@ -439,7 +582,7 @@ func TestReservedIPAddresses_GetIPReservationStatus(t *testing.T) {
// Create a Linode with an ephemeral IP
instanceWithEphemeralIP, err := client.CreateInstance(context.Background(), linodego.InstanceCreateOptions{
- Region: "us-east",
+ Region: region,
Type: "g6-nanode-1",
Label: "test-instance-ephemeral-ip",
RootPass: randPassword(),
diff --git a/test/integration/network_transfer_prices_test.go b/test/integration/network_transfer_prices_test.go
index 641b7c4ea..80a4ff621 100644
--- a/test/integration/network_transfer_prices_test.go
+++ b/test/integration/network_transfer_prices_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/require"
)
diff --git a/test/integration/nodebalancer_config_nodes_test.go b/test/integration/nodebalancer_config_nodes_test.go
index 9948a285f..03f132e2d 100644
--- a/test/integration/nodebalancer_config_nodes_test.go
+++ b/test/integration/nodebalancer_config_nodes_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
var (
@@ -361,7 +361,10 @@ func setupNodeBalancerNode(
t.Errorf("failed to create test instance: %s", err)
}
- instanceIP, err := client.AddInstanceIPAddress(context.Background(), instance.ID, false)
+ opts := linodego.InstanceIPAddOptions{
+ Public: false,
+ }
+ instanceIP, err := client.AddInstanceIPAddress(context.Background(), instance.ID, opts)
if err != nil {
t.Fatal(err)
}
diff --git a/test/integration/nodebalancer_configs_test.go b/test/integration/nodebalancer_configs_test.go
index 6fc19203e..5044f887f 100644
--- a/test/integration/nodebalancer_configs_test.go
+++ b/test/integration/nodebalancer_configs_test.go
@@ -5,7 +5,7 @@ import (
"fmt"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/require"
)
@@ -256,7 +256,10 @@ func setupNodeBalancerWithVPCAndInstance(
t,
fixturesYaml,
func(client *linodego.Client, options *linodego.VPCCreateOptions) {
- options.Region = getRegionsWithCaps(t, client, []string{"Linodes", "VPCs"})[1]
+ options.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{
+ linodego.CapabilityLinodes,
+ linodego.CapabilityVPCs,
+ })[1]
},
)
if err != nil {
@@ -269,7 +272,10 @@ func setupNodeBalancerWithVPCAndInstance(
client,
true,
func(client *linodego.Client, opts *linodego.InstanceCreateOptions) {
- opts.Region = getRegionsWithCaps(t, client, []string{"Linodes", "VPCs"})[1]
+ opts.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{
+ linodego.CapabilityLinodes,
+ linodego.CapabilityVPCs,
+ })[1]
opts.Image = "linode/ubuntu22.04"
opts.RootPass = "0o37Klm56P4ssw0rd"
@@ -278,7 +284,7 @@ func setupNodeBalancerWithVPCAndInstance(
{
Purpose: "vpc",
SubnetID: &subnet.ID,
- IPv4: &linodego.VPCIPv4{
+ IPv4: &linodego.VPCIPv4CreateOptions{
NAT1To1: &NAT1To1Any,
},
},
diff --git a/test/integration/nodebalancer_stats_test.go b/test/integration/nodebalancer_stats_test.go
index 0317a7e88..981531140 100644
--- a/test/integration/nodebalancer_stats_test.go
+++ b/test/integration/nodebalancer_stats_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestNodeBalancerStats_Get(t *testing.T) {
diff --git a/test/integration/nodebalancer_types_test.go b/test/integration/nodebalancer_types_test.go
index f764e8e33..c09ff0f3a 100644
--- a/test/integration/nodebalancer_types_test.go
+++ b/test/integration/nodebalancer_types_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/require"
)
diff --git a/test/integration/nodebalancers_test.go b/test/integration/nodebalancers_test.go
index 5d909a26a..6582ff980 100644
--- a/test/integration/nodebalancers_test.go
+++ b/test/integration/nodebalancers_test.go
@@ -5,7 +5,7 @@ import (
"strings"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/require"
)
@@ -201,7 +201,7 @@ func setupNodeBalancer(t *testing.T, fixturesYaml string, nbModifiers []nbModifi
client, fixtureTeardown := createTestClient(t, fixturesYaml)
createOpts := linodego.NodeBalancerCreateOptions{
Label: &label,
- Region: getRegionsWithCaps(t, client, []string{"NodeBalancers"})[0],
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityNodeBalancers})[0],
ClientConnThrottle: &clientConnThrottle,
FirewallID: GetFirewallID(),
}
diff --git a/test/integration/object_storage_bucket_certs_test.go b/test/integration/object_storage_bucket_certs_test.go
index 20a0ca295..0690118b5 100644
--- a/test/integration/object_storage_bucket_certs_test.go
+++ b/test/integration/object_storage_bucket_certs_test.go
@@ -5,7 +5,7 @@ import (
"slices"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
var (
@@ -133,19 +133,6 @@ func TestObjectStorageBucketCert_smoke(t *testing.T) {
t.Fatalf("failed to upload bucket cert: %s", err)
}
- err = client.DeleteObjectStorageBucketCert(context.TODO(), bucket.Region, bucket.Label)
- if err != nil {
- t.Fatalf("failed to upload bucket cert: %s", err)
- }
-
- _, err = client.UploadObjectStorageBucketCertV2(context.TODO(), bucket.Region, bucket.Label, linodego.ObjectStorageBucketCertUploadOptions{
- Certificate: testCertifcate,
- PrivateKey: testPrivateKey,
- })
- if err != nil {
- t.Fatalf("failed to upload bucket cert: %s", err)
- }
-
defer func() {
if err := client.DeleteObjectStorageBucketCert(context.TODO(), bucket.Region, bucket.Label); err != nil {
t.Errorf("failed to delete bucket cert: %s", err)
@@ -157,16 +144,7 @@ func TestObjectStorageBucketCert_smoke(t *testing.T) {
t.Fatalf("failed to get bucket cert: %s", err)
}
- if !cert.SSL {
- t.Fatalf("expected cert.SSL to be true; got false")
- }
-
- certv2, err := client.GetObjectStorageBucketCertV2(context.TODO(), bucket.Region, bucket.Label)
- if err != nil {
- t.Fatalf("failed to get bucket cert: %s", err)
- }
-
- if certv2 == nil || !*certv2.SSL {
+ if cert == nil || !*cert.SSL {
t.Fatalf("expected cert.SSL to be true; got false")
}
}
diff --git a/test/integration/object_storage_buckets_test.go b/test/integration/object_storage_buckets_test.go
index 9476cde52..d889a2856 100644
--- a/test/integration/object_storage_buckets_test.go
+++ b/test/integration/object_storage_buckets_test.go
@@ -5,18 +5,13 @@ import (
"slices"
"testing"
- "github.com/linode/linodego"
- . "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
+ . "github.com/linode/linodego/v2"
)
var objectStorageBucketTestLabel = "go-bucket-test-def"
var testObjectStorageBucketCreateOpts = ObjectStorageBucketCreateOptions{
- Cluster: "us-east-1",
- Label: objectStorageBucketTestLabel,
-}
-
-var testRegionalObjectStorageBucketCreateOpts = ObjectStorageBucketCreateOptions{
Region: "us-east",
Label: objectStorageBucketTestLabel,
}
@@ -35,51 +30,11 @@ func TestObjectStorageBucket_Create_smoke(t *testing.T) {
// when comparing fixtures to random value Label will differ, compare the known prefix
if bucket.Label != expected.Label ||
- bucket.Cluster != expected.Cluster {
- t.Errorf("Object Storage Bucket did not match CreateOptions")
- }
-
- assertDateSet(t, bucket.Created)
-}
-
-func TestObjectStorageBucket_Regional(t *testing.T) {
- client, teardown := createTestClient(t, "fixtures/TestObjectStorageBucket_Regional")
- regions := getRegionsWithCaps(t, client, []string{"Object Storage"})
- if len(regions) < 1 {
- t.Fatal("Can't get region with Object Storage capability")
- }
- region := regions[0]
-
- client, bucket, teardown, err := setupObjectStorageBucket(t,
- []objectStorageBucketModifier{
- func(opts *ObjectStorageBucketCreateOptions) {
- opts.Cluster = ""
- opts.Region = region
- },
- },
- "fixtures/TestObjectStorageBucket_Regional",
- client, teardown, nil,
- )
- defer teardown()
-
- if err != nil {
- t.Errorf("Error creating Object Storage Bucket, got error %v", err)
- }
-
- expected := testObjectStorageBucketCreateOpts
-
- // when comparing fixtures to random value Label will differ, compare the known prefix
- if bucket.Label != expected.Label ||
- bucket.Region != region {
+ bucket.Region != expected.Region {
t.Errorf("Object Storage Bucket did not match CreateOptions")
}
assertDateSet(t, bucket.Created)
-
- bucket, err = client.GetObjectStorageBucket(context.Background(), region, expected.Label)
- if err != nil {
- t.Errorf("Error getting Object Storage Bucket, %v", err)
- }
}
func TestObjectStorageBucket_GetMissing(t *testing.T) {
@@ -114,7 +69,7 @@ func TestObjectStorageBucket_GetFound(t *testing.T) {
t.Error(err)
}
- i, err := client.GetObjectStorageBucket(context.Background(), bucket.Cluster, bucket.Label)
+ i, err := client.GetObjectStorageBucket(context.Background(), bucket.Region, bucket.Label)
if err != nil {
t.Errorf("Error getting ObjectStorageBucket, expected struct, got %v and error %v", i, err)
}
@@ -125,7 +80,7 @@ func TestObjectStorageBucket_GetFound(t *testing.T) {
// when comparing fixtures to random value Label will differ, compare the known prefix
if bucket.Label != expected.Label ||
- bucket.Cluster != expected.Cluster {
+ bucket.Region != expected.Region {
t.Errorf("Object Storage Bucket did not match CreateOptions")
}
}
@@ -157,24 +112,6 @@ func TestObjectStorageBuckets_List_smoke(t *testing.T) {
}
}
-func TestObjectStorageBucketsInCluster_List(t *testing.T) {
- client, bucket, teardown, err := setupObjectStorageBucket(t,
- nil,
- "fixtures/TestObjectStorageBucketsInCluster_List", nil, nil, nil)
- defer teardown()
-
- i, err := client.ListObjectStorageBucketsInCluster(context.Background(), nil, bucket.Cluster)
- if err != nil {
- t.Errorf("Error listing ObjectStorageBucketsInCluster, expected struct, got error %v", err)
- }
- if len(i) == 0 {
- t.Errorf("Expected a list of ObjectStorageBucketsInCluster, but got none %v", i)
- } else if i[0].Label == "" ||
- i[0].Cluster == "" {
- t.Errorf("Listed Object Storage Bucket in Cluster did not have attributes %v", i)
- }
-}
-
func TestObjectStorageBucket_Access_Get(t *testing.T) {
corsEnabled := false
@@ -200,21 +137,12 @@ func TestObjectStorageBucket_Access_Get(t *testing.T) {
t.Errorf("Error getting ObjectStorageBucket access, got error %s", err)
}
- newBucketv2, err := client.GetObjectStorageBucketAccessV2(context.Background(), bucket.Region, bucket.Label)
- if err != nil {
- t.Errorf("Error getting ObjectStorageBucket access, got error %s", err)
- }
-
- if newBucket.CorsEnabled != corsEnabled {
- t.Errorf("ObjectStorageBucket access CORS does not match update, expected %t, got %t", corsEnabled, newBucket.CorsEnabled)
- }
-
- if newBucketv2.CorsEnabled == nil {
+ if newBucket.CorsEnabled == nil {
t.Errorf("ObjectStorageBucket access CORS does not match update, expected %t, got nil", corsEnabled)
}
- if newBucketv2.CorsEnabled != nil && *newBucketv2.CorsEnabled != corsEnabled {
- t.Errorf("ObjectStorageBucket access CORS does not match update, expected %t, got %t", corsEnabled, *newBucketv2.CorsEnabled)
+ if newBucket.CorsEnabled != nil && *newBucket.CorsEnabled != corsEnabled {
+ t.Errorf("ObjectStorageBucket access CORS does not match update, expected %t, got %t", corsEnabled, *newBucket.CorsEnabled)
}
if newBucket.ACL != createOpts.ACL {
@@ -222,10 +150,40 @@ func TestObjectStorageBucket_Access_Get(t *testing.T) {
createOpts.ACL,
newBucket.ACL)
}
- if newBucketv2.ACL != createOpts.ACL {
- t.Errorf("ObjectStorageBucket access ACL does not match update, expected %s, got %s",
- createOpts.ACL,
- newBucketv2.ACL)
+}
+
+func TestObjectStorageBucket_Access_Modify(t *testing.T) {
+ endpointType := linodego.ObjectStorageEndpointE1
+ client, bucket, teardown, err := setupObjectStorageBucket(t,
+ nil,
+ "fixtures/TestObjectStorageBucket_Access_Modify",
+ nil, nil, &endpointType,
+ )
+ defer teardown()
+
+ corsEnabled := false
+
+ opts := ObjectStorageBucketModifyAccessOptions{
+ ACL: ACLPrivate,
+ CorsEnabled: &corsEnabled,
+ }
+
+ err = client.ModifyObjectStorageBucketAccess(context.Background(), bucket.Region, bucket.Label, opts)
+ if err != nil {
+ t.Errorf("Error modifying ObjectStorageBucket access, got error %s", err)
+ }
+
+ newBucket, err := client.GetObjectStorageBucketAccess(context.Background(), bucket.Region, bucket.Label)
+ if err != nil {
+ t.Errorf("Error getting ObjectStorageBucket access, got error %s", err)
+ }
+
+ if *newBucket.CorsEnabled != corsEnabled {
+ t.Errorf("ObjectStorageBucket access CORS does not match modification, expected %t, got %t", corsEnabled, *newBucket.CorsEnabled)
+ }
+
+ if newBucket.ACL != opts.ACL {
+ t.Errorf("ObjectStorageBucket access ACL does not match modification, expected %s, got %s", opts.ACL, newBucket.ACL)
}
}
@@ -255,8 +213,8 @@ func TestObjectStorageBucket_Access_Update(t *testing.T) {
t.Errorf("Error getting ObjectStorageBucket access, got error %s", err)
}
- if newBucket.CorsEnabled != corsEnabled {
- t.Errorf("ObjectStorageBucket access CORS does not match update, expected %t, got %t", corsEnabled, newBucket.CorsEnabled)
+ if *newBucket.CorsEnabled != corsEnabled {
+ t.Errorf("ObjectStorageBucket access CORS does not match update, expected %t, got %t", corsEnabled, *newBucket.CorsEnabled)
}
if newBucket.ACL != opts.ACL {
@@ -287,7 +245,7 @@ func setupObjectStorageBucket(
client, teardown = createTestClient(t, fixturesYaml)
}
- createOpts := testRegionalObjectStorageBucketCreateOpts
+ createOpts := testObjectStorageBucketCreateOpts
if endpointType != nil {
endpoints, err := client.ListObjectStorageEndpoints(context.Background(), nil)
@@ -313,7 +271,7 @@ func setupObjectStorageBucket(
}
newTeardown := func() {
- if err := client.DeleteObjectStorageBucket(context.Background(), bucket.Cluster, bucket.Label); err != nil {
+ if err := client.DeleteObjectStorageBucket(context.Background(), bucket.Region, bucket.Label); err != nil {
if t != nil {
t.Errorf("Error deleting test Bucket: %s", err)
}
diff --git a/test/integration/object_storage_clusters_test.go b/test/integration/object_storage_clusters_test.go
deleted file mode 100644
index 20e8f92a7..000000000
--- a/test/integration/object_storage_clusters_test.go
+++ /dev/null
@@ -1,19 +0,0 @@
-package integration
-
-import (
- "context"
- "testing"
-)
-
-func TestObjectStorageClusters_List(t *testing.T) {
- client, teardown := createTestClient(t, "fixtures/TestObjectStorageClusters_List")
- defer teardown()
-
- objectStorageClusters, err := client.ListObjectStorageClusters(context.Background(), nil)
- if err != nil {
- t.Errorf("Error listing objectStorageClusters, expected struct - error %v", err)
- }
- if len(objectStorageClusters) == 0 {
- t.Errorf("Expected a list of objectStorageClusters - %v", objectStorageClusters)
- }
-}
diff --git a/test/integration/object_storage_global_quota_test.go b/test/integration/object_storage_global_quota_test.go
index 3fb1a25fc..5c34a9975 100644
--- a/test/integration/object_storage_global_quota_test.go
+++ b/test/integration/object_storage_global_quota_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/integration/object_storage_keys_test.go b/test/integration/object_storage_keys_test.go
index 069272683..6983c39d6 100644
--- a/test/integration/object_storage_keys_test.go
+++ b/test/integration/object_storage_keys_test.go
@@ -6,9 +6,8 @@ import (
"strings"
"testing"
- "github.com/google/go-cmp/cmp"
- "github.com/linode/linodego"
- . "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
+ . "github.com/linode/linodego/v2"
)
var testBasicObjectStorageKeyCreateOpts = ObjectStorageKeyCreateOptions{
@@ -113,16 +112,18 @@ func TestObjectStorageKeys_Limited(t *testing.T) {
)
defer teardown()
+ if err != nil {
+ t.Fatal(err)
+ }
+
createOpts := testBasicObjectStorageKeyCreateOpts
- createOpts.BucketAccess = &[]ObjectStorageKeyBucketAccess{
+ createOpts.BucketAccess = []ObjectStorageKeyBucketAccessCreateOptions{
{
- Cluster: "us-east-1",
Region: "us-east",
BucketName: bucket.Label,
Permissions: "read_only",
},
{
- Cluster: "us-east-1",
Region: "us-east",
BucketName: bucket.Label,
Permissions: "read_write",
@@ -134,12 +135,24 @@ func TestObjectStorageKeys_Limited(t *testing.T) {
if err != nil {
t.Error(err)
}
- if !objectStorageKey.Limited || !cmp.Equal(objectStorageKey.BucketAccess, createOpts.BucketAccess) {
- t.Errorf(
- "objectStorageKey returned (%v) does not match objectStorageKey creation request (%v)",
- *objectStorageKey.BucketAccess,
- *createOpts.BucketAccess,
- )
+ if !objectStorageKey.Limited {
+ t.Errorf("expected key to be limited")
+ }
+
+ if objectStorageKey.BucketAccess == nil {
+ t.Fatalf("expected BucketAccess to be set on returned key")
+ }
+
+ // Compare values field-by-field to avoid relying on concrete types.
+ got := *objectStorageKey.BucketAccess
+ if len(got) != len(createOpts.BucketAccess) {
+ t.Fatalf("bucket access length mismatch: got %d, want %d", len(got), len(createOpts.BucketAccess))
+ }
+ for i := range got {
+ want := createOpts.BucketAccess[i]
+ if got[i].Region != want.Region || got[i].BucketName != want.BucketName || got[i].Permissions != want.Permissions {
+ t.Errorf("bucket access mismatch at index %d: got %+v, want %+v", i, got[i], want)
+ }
}
}
@@ -147,7 +160,7 @@ func TestObjectStorageKeys_Limited_NoAccess(t *testing.T) {
t.Skip("skipping test due to unexpected API behavior with limited object storage keys")
createOpts := testBasicObjectStorageKeyCreateOpts
- createOpts.BucketAccess = &[]ObjectStorageKeyBucketAccess{}
+ createOpts.BucketAccess = []ObjectStorageKeyBucketAccessCreateOptions{}
_, objectStorageKey, teardown, err := setupObjectStorageKey(t, createOpts, "fixtures/TestObjectStorageKeys_Limited_NoAccess", nil, nil)
defer teardown()
@@ -162,7 +175,7 @@ func TestObjectStorageKeys_Limited_NoAccess(t *testing.T) {
func TestObjectStorageKeys_Regional_Limited(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestObjectStorageKeys_Regional_Limited")
- regions := getRegionsWithCaps(t, client, []string{"Object Storage"})
+ regions := getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityObjectStorage})
if len(regions) < 1 {
t.Fatal("Can't get region with Object Storage capability")
}
@@ -170,8 +183,8 @@ func TestObjectStorageKeys_Regional_Limited(t *testing.T) {
client, bucket, teardown, err := setupObjectStorageBucket(t, []objectStorageBucketModifier{
func(createOpts *ObjectStorageBucketCreateOptions) {
- createOpts.Cluster = ""
createOpts.Region = region
+ createOpts.Label += "go-test-def-regional"
},
}, "fixtures/TestObjectStorageKeys_Regional_Limited",
client, teardown, nil)
@@ -180,7 +193,7 @@ func TestObjectStorageKeys_Regional_Limited(t *testing.T) {
}
createOpts := testBasicObjectStorageKeyCreateOpts
- createOpts.BucketAccess = &[]ObjectStorageKeyBucketAccess{
+ createOpts.BucketAccess = []ObjectStorageKeyBucketAccessCreateOptions{
{
Region: region,
BucketName: bucket.Label,
diff --git a/test/integration/object_storage_object_test.go b/test/integration/object_storage_object_test.go
index 14166b734..8523a4a0c 100644
--- a/test/integration/object_storage_object_test.go
+++ b/test/integration/object_storage_object_test.go
@@ -6,7 +6,7 @@ import (
"net/http"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
var objectStorageObjectURLExpirySeconds = 360
@@ -14,7 +14,7 @@ var objectStorageObjectURLExpirySeconds = 360
func putObjectStorageObject(t *testing.T, client *linodego.Client, bucket *linodego.ObjectStorageBucket, name, content string) {
t.Helper()
- url, err := client.CreateObjectStorageObjectURL(context.TODO(), bucket.Cluster, bucket.Label, linodego.ObjectStorageObjectURLCreateOptions{
+ url, err := client.CreateObjectStorageObjectURL(context.TODO(), bucket.Region, bucket.Label, linodego.ObjectStorageObjectURLCreateOptions{
Name: name,
Method: http.MethodPut,
ContentType: "text/plain",
@@ -48,7 +48,7 @@ func putObjectStorageObject(t *testing.T, client *linodego.Client, bucket *linod
func deleteObjectStorageObject(t *testing.T, client *linodego.Client, bucket *linodego.ObjectStorageBucket, name string) {
t.Helper()
- url, err := client.CreateObjectStorageObjectURL(context.TODO(), bucket.Cluster, bucket.Label, linodego.ObjectStorageObjectURLCreateOptions{
+ url, err := client.CreateObjectStorageObjectURL(context.TODO(), bucket.Region, bucket.Label, linodego.ObjectStorageObjectURLCreateOptions{
Name: name,
Method: http.MethodDelete,
ExpiresIn: &objectStorageObjectURLExpirySeconds,
@@ -87,33 +87,20 @@ func TestObjectStorageObject_Smoke(t *testing.T) {
putObjectStorageObject(t, client, bucket, object, "testing123")
defer deleteObjectStorageObject(t, client, bucket, object)
- config, err := client.GetObjectStorageObjectACLConfig(context.TODO(), bucket.Cluster, bucket.Label, object)
+ config, err := client.GetObjectStorageObjectACLConfig(context.TODO(), bucket.Region, bucket.Label, object)
if err != nil {
t.Errorf("failed to get ACL config: %s", err)
}
- if config.ACL != "private" {
- t.Errorf("expected ACL to be private; got %s", config.ACL)
- }
-
- if config.ACLXML == "" {
- t.Error("expected ACL XML to be included")
- }
-
- configv2, err := client.GetObjectStorageObjectACLConfigV2(context.TODO(), bucket.Cluster, bucket.Label, object)
- if err != nil {
- t.Errorf("failed to get ACL config: %s", err)
- }
-
- if configv2.ACL == nil {
+ if config.ACL == nil {
t.Errorf("expected ACL to be private; got nil")
}
- if configv2.ACL != nil && *configv2.ACL != "private" {
- t.Errorf("expected ACL to be private; got %s", *configv2.ACL)
+ if config.ACL != nil && *config.ACL != "private" {
+ t.Errorf("expected ACL to be private; got %s", *config.ACL)
}
- content, err := client.ListObjectStorageBucketContents(context.TODO(), bucket.Cluster, bucket.Label, nil)
+ content, err := client.ListObjectStorageBucketContents(context.TODO(), bucket.Region, bucket.Label, nil)
if err != nil {
t.Errorf("failed to get bucket contents: %s", err)
}
@@ -123,44 +110,28 @@ func TestObjectStorageObject_Smoke(t *testing.T) {
}
updateOpts := linodego.ObjectStorageObjectACLConfigUpdateOptions{ACL: "public-read", Name: object}
- if _, err = client.UpdateObjectStorageObjectACLConfig(context.TODO(), bucket.Cluster, bucket.Label, updateOpts); err != nil {
+ if _, err = client.UpdateObjectStorageObjectACLConfig(context.TODO(), bucket.Region, bucket.Label, updateOpts); err != nil {
t.Errorf("failed to update ACL config: %s", err)
}
- if _, err = client.UpdateObjectStorageObjectACLConfigV2(context.TODO(), bucket.Cluster, bucket.Label, updateOpts); err != nil {
- t.Errorf("failed to update ACL config: %s", err)
- }
-
- config, err = client.GetObjectStorageObjectACLConfig(context.TODO(), bucket.Cluster, bucket.Label, object)
- if err != nil {
- t.Errorf("failed to get updated ACL config: %s", err)
- }
-
- if config.ACL != updateOpts.ACL {
- t.Errorf("expected ACL config to be %s; got %s", updateOpts.ACL, config.ACL)
- }
- if config.ACLXML == "" {
- t.Error("expected ACL XML to be included")
- }
-
- configv2, err = client.GetObjectStorageObjectACLConfigV2(context.TODO(), bucket.Cluster, bucket.Label, object)
+ config, err = client.GetObjectStorageObjectACLConfig(context.TODO(), bucket.Region, bucket.Label, object)
if err != nil {
t.Errorf("failed to get ACL config: %s", err)
}
- if configv2.ACL == nil {
+ if config.ACL == nil {
t.Errorf("expected ACL config to be %s; got nil", updateOpts.ACL)
}
- if configv2.ACL != nil && *configv2.ACL != updateOpts.ACL {
+ if config.ACL != nil && *config.ACL != updateOpts.ACL {
t.Errorf("expected ACL config to be %s; got nil", updateOpts.ACL)
}
- if configv2.ACLXML == nil {
+ if config.ACLXML == nil {
t.Error("expected ACL XML to be included")
}
- if configv2.ACLXML != nil && *configv2.ACLXML == "" {
+ if config.ACLXML != nil && *config.ACLXML == "" {
t.Error("expected ACL XML to be included")
}
}
diff --git a/test/integration/object_storage_quota_test.go b/test/integration/object_storage_quota_test.go
index bd1e9d512..d7919b8ec 100644
--- a/test/integration/object_storage_quota_test.go
+++ b/test/integration/object_storage_quota_test.go
@@ -2,17 +2,36 @@ package integration
import (
"context"
+ "strings"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
+// getExistingObjectStorageQuotaID is a helper function to retrieve an existing Object Storage quota ID
+// It is used because accounts may differ in their QuotaID names
+func getExistingObjectStorageQuotaID(t *testing.T, client *linodego.Client, prefix string) string {
+ targetQuotaID := "obj-objects-us-ord-10.linodeobjects.com"
+
+ quotas, err := client.ListObjectStorageQuotas(context.Background(), &linodego.ListOptions{})
+ assert.NoError(t, err, "Error listing ObjectStorageQuotas")
+
+ for _, quota := range quotas {
+ if strings.Contains(quota.QuotaID, prefix) {
+ targetQuotaID = quota.QuotaID
+ return targetQuotaID
+ }
+ }
+ return targetQuotaID
+}
+
func TestObjectStorageQuotas_Get(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestObjectStorageQuotas_Get")
defer teardown()
- targetQuotaID := "obj-objects-us-ord-1.linodeobjects.com"
+ targetQuotaID := getExistingObjectStorageQuotaID(t, client, "obj-objects")
quota, err := client.GetObjectStorageQuota(context.Background(), targetQuotaID)
assert.NoError(t, err)
@@ -32,38 +51,28 @@ func TestObjectStorageQuotas_List(t *testing.T) {
defer teardown()
quotas, err := client.ListObjectStorageQuotas(context.Background(), &linodego.ListOptions{})
- assert.NoError(t, err, "Error listing ObjectStorageQuotas")
-
- targetQuotaID := "obj-buckets-us-mia-1.linodeobjects.com"
- var foundQuota *linodego.ObjectStorageQuota
-
- for _, quota := range quotas {
- if quota.QuotaID == targetQuotaID {
- foundQuota = "a
- break
- }
- }
+ require.NoError(t, err, "Error listing ObjectStorageQuotas")
- if assert.NotNil(t, foundQuota, "Expected quota_id %q not found", targetQuotaID) {
- assert.Equal(t, targetQuotaID, foundQuota.QuotaID)
- assert.NotEmpty(t, foundQuota.QuotaName)
- assert.NotEmpty(t, foundQuota.EndpointType)
- assert.NotEmpty(t, foundQuota.S3Endpoint)
- assert.NotEmpty(t, foundQuota.Description)
- assert.Greater(t, foundQuota.QuotaLimit, 0)
- assert.NotEmpty(t, foundQuota.ResourceMetric)
- assert.NotEmpty(t, foundQuota.QuotaType)
- assert.True(t, foundQuota.HasUsage)
- }
+ targetQuota := quotas[0]
+ assert.NotEmpty(t, targetQuota.QuotaID)
+ assert.NotEmpty(t, targetQuota.QuotaName)
+ assert.NotEmpty(t, targetQuota.EndpointType)
+ assert.NotEmpty(t, targetQuota.S3Endpoint)
+ assert.NotEmpty(t, targetQuota.Description)
+ assert.Greater(t, targetQuota.QuotaLimit, 0)
+ assert.NotEmpty(t, targetQuota.ResourceMetric)
+ assert.NotEmpty(t, targetQuota.QuotaType)
+ assert.NotNil(t, targetQuota.HasUsage)
}
func TestObjectStorageQuotaUsage_Get(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestObjectStorageQuotaUsage_Get")
defer teardown()
- quotaUsage, err := client.GetObjectStorageQuotaUsage(context.Background(), "obj-objects-us-ord-1.linodeobjects.com")
+ objectQuotaID := getExistingObjectStorageQuotaID(t, client, "obj-objects")
+ quotaUsage, err := client.GetObjectStorageQuotaUsage(context.Background(), objectQuotaID)
assert.NoError(t, err)
- assert.Equal(t, 100000000, quotaUsage.QuotaLimit)
+ assert.GreaterOrEqual(t, quotaUsage.QuotaLimit, 100000000)
assert.GreaterOrEqual(t, *quotaUsage.Usage, 0)
}
diff --git a/test/integration/placement_group_test.go b/test/integration/placement_group_test.go
index a6f4c7e42..ef598f436 100644
--- a/test/integration/placement_group_test.go
+++ b/test/integration/placement_group_test.go
@@ -6,7 +6,7 @@ import (
"reflect"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/require"
)
@@ -121,7 +121,7 @@ func createPlacementGroup(
t.Helper()
createOpts := linodego.PlacementGroupCreateOptions{
Label: "linodego-test-" + getUniqueText(),
- Region: getRegionsWithCaps(t, client, []string{"Placement Group"})[0],
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityPlacementGroup})[0],
PlacementGroupType: linodego.PlacementGroupTypeAntiAffinityLocal,
PlacementGroupPolicy: linodego.PlacementGroupPolicyFlexible,
}
diff --git a/test/integration/postgres_db_config_test.go b/test/integration/postgres_db_config_test.go
index a33bbe49e..ed0d55f4d 100644
--- a/test/integration/postgres_db_config_test.go
+++ b/test/integration/postgres_db_config_test.go
@@ -4,8 +4,9 @@ import (
"context"
"os"
"testing"
+ "time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -273,11 +274,13 @@ func TestDatabasePostgres_EngineConfig_Get(t *testing.T) {
}
func TestDatabasePostgres_EngineConfig_Suite(t *testing.T) {
+ ctx := waitContext(t, 6720*time.Second)
+
databaseModifiers := []postgresDatabaseModifier{
createPostgresOptionsModifier(),
}
- client, database, teardown, err := setupPostgresDatabase(t, databaseModifiers, "fixtures/TestDatabasePostgres_EngineConfig_Suite")
+ client, database, teardown, err := setupPostgresDatabase(t, ctx, databaseModifiers, "fixtures/TestDatabasePostgres_EngineConfig_Suite")
if err != nil {
t.Error(err)
}
@@ -308,7 +311,7 @@ func TestDatabasePostgres_EngineConfig_Suite(t *testing.T) {
t.Errorf("failed to update db %d: %v", database.ID, err)
}
- waitForDatabaseUpdated(t, client, updatedDB.ID, linodego.DatabaseEngineTypePostgres, updatedDB.Created)
+ waitForDatabaseUpdated(t, ctx, client, updatedDB.ID, linodego.DatabaseEngineTypePostgres, updatedDB.Created)
assertUpdatedPostgresFields(t, updatedDB.EngineConfig.PG)
}
diff --git a/test/integration/postgres_test.go b/test/integration/postgres_test.go
index 150e09e65..69daaca1c 100644
--- a/test/integration/postgres_test.go
+++ b/test/integration/postgres_test.go
@@ -8,11 +8,13 @@ import (
"github.com/dnaeon/go-vcr/recorder"
"github.com/google/go-cmp/cmp"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestDatabase_Postgres_Suite(t *testing.T) {
- client, database, teardown, err := setupPostgresDatabase(t, nil, "fixtures/TestDatabase_Postgres_Suite")
+ ctx := waitContext(t, 14160*time.Second)
+
+ client, database, teardown, err := setupPostgresDatabase(t, ctx, nil, "fixtures/TestDatabase_Postgres_Suite")
if err != nil {
t.Error(err)
}
@@ -55,7 +57,7 @@ func TestDatabase_Postgres_Suite(t *testing.T) {
updatedLabel := database.Label + "-updated"
opts := linodego.PostgresUpdateOptions{
- AllowList: &allowList,
+ AllowList: allowList,
Label: updatedLabel,
Updates: &updatedWindow,
}
@@ -64,7 +66,7 @@ func TestDatabase_Postgres_Suite(t *testing.T) {
t.Errorf("failed to update db %d: %v", database.ID, err)
}
- waitForDatabaseUpdated(t, client, db.ID, linodego.DatabaseEngineTypePostgres, db.Created)
+ waitForDatabaseUpdated(t, ctx, client, db.ID, linodego.DatabaseEngineTypePostgres, db.Created)
if db.ID != database.ID {
t.Errorf("updated db does not match original id")
@@ -121,15 +123,15 @@ func TestDatabase_Postgres_Suite(t *testing.T) {
// Wait for the DB to enter updating status
if err := client.WaitForDatabaseStatus(
- context.Background(), database.ID, linodego.DatabaseEngineTypePostgres,
- linodego.DatabaseStatusUpdating, 240); err != nil {
+ ctx, database.ID, linodego.DatabaseEngineTypePostgres,
+ linodego.DatabaseStatusUpdating); err != nil {
t.Fatalf("failed to wait for database updating: %s", err)
}
// Wait for the DB to re-enter active status
if err := client.WaitForDatabaseStatus(
- context.Background(), database.ID, linodego.DatabaseEngineTypePostgres,
- linodego.DatabaseStatusActive, 2400); err != nil {
+ ctx, database.ID, linodego.DatabaseEngineTypePostgres,
+ linodego.DatabaseStatusActive); err != nil {
t.Fatalf("failed to wait for database updating: %s", err)
}
@@ -139,8 +141,8 @@ func TestDatabase_Postgres_Suite(t *testing.T) {
// Wait for the DB to enter suspended status
if err := client.WaitForDatabaseStatus(
- context.Background(), database.ID, linodego.DatabaseEngineTypePostgres,
- linodego.DatabaseStatusSuspended, 2400); err != nil {
+ ctx, database.ID, linodego.DatabaseEngineTypePostgres,
+ linodego.DatabaseStatusSuspended); err != nil {
t.Fatalf("failed to wait for database suspended: %s", err)
}
@@ -150,8 +152,8 @@ func TestDatabase_Postgres_Suite(t *testing.T) {
// Wait for the DB to re-enter active status
if err := client.WaitForDatabaseStatus(
- context.Background(), database.ID, linodego.DatabaseEngineTypePostgres,
- linodego.DatabaseStatusActive, 2400); err != nil {
+ ctx, database.ID, linodego.DatabaseEngineTypePostgres,
+ linodego.DatabaseStatusActive); err != nil {
t.Fatalf("failed to wait for database active: %s", err)
}
}
@@ -165,9 +167,9 @@ func createPostgresDatabase(t *testing.T, client *linodego.Client,
createOpts := linodego.PostgresCreateOptions{
Label: "go-postgres-testing-def" + randLabel(),
- Region: getRegionsWithCaps(t, client, []string{"Managed Databases"})[0],
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityDBAAS})[0],
Type: "g6-nanode-1",
- Engine: "postgresql/14",
+ Engine: "postgresql/16",
ClusterSize: 3,
AllowList: []string{"203.0.113.1", "192.0.1.0/24"},
}
@@ -211,7 +213,7 @@ func createPostgresDatabase(t *testing.T, client *linodego.Client,
return database, teardown, nil
}
-func setupPostgresDatabase(t *testing.T, databaseMofidiers []postgresDatabaseModifier,
+func setupPostgresDatabase(t *testing.T, ctx context.Context, databaseMofidiers []postgresDatabaseModifier,
fixturesYaml string,
) (*linodego.Client, *linodego.PostgresDatabase, func(), error) {
t.Helper()
@@ -222,8 +224,8 @@ func setupPostgresDatabase(t *testing.T, databaseMofidiers []postgresDatabaseMod
t.Fatalf("failed to create db: %s", err)
}
- _, err = client.WaitForEventFinished(context.Background(), database.ID, linodego.EntityDatabase,
- linodego.ActionDatabaseCreate, now, 5400)
+ _, err = client.WaitForEventFinished(ctx, database.ID, linodego.EntityDatabase,
+ linodego.ActionDatabaseCreate, now)
if err != nil {
t.Fatalf("failed to wait for db create event: %s", err)
}
diff --git a/test/integration/profile_sshkeys_test.go b/test/integration/profile_sshkeys_test.go
index 843aea9ef..4dad8976e 100644
--- a/test/integration/profile_sshkeys_test.go
+++ b/test/integration/profile_sshkeys_test.go
@@ -5,7 +5,7 @@ import (
"strings"
"testing"
- . "github.com/linode/linodego"
+ . "github.com/linode/linodego/v2"
)
var testSSHKeyCreateOpts = SSHKeyCreateOptions{
diff --git a/test/integration/profile_tokens_test.go b/test/integration/profile_tokens_test.go
index 688026eb4..9ecb64f54 100644
--- a/test/integration/profile_tokens_test.go
+++ b/test/integration/profile_tokens_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"time"
- . "github.com/linode/linodego"
+ . "github.com/linode/linodego/v2"
)
func TestToken_GetMissing(t *testing.T) {
diff --git a/test/integration/regions_test.go b/test/integration/regions_test.go
index fe366de96..d77c3ef2e 100644
--- a/test/integration/regions_test.go
+++ b/test/integration/regions_test.go
@@ -5,7 +5,7 @@ import (
"slices"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/require"
)
diff --git a/test/integration/stackscripts_test.go b/test/integration/stackscripts_test.go
index cce14700c..9a475a255 100644
--- a/test/integration/stackscripts_test.go
+++ b/test/integration/stackscripts_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestStackscripts_List_smoke(t *testing.T) {
diff --git a/test/integration/tags_test.go b/test/integration/tags_test.go
index b2dc748a2..f7fbcaf4c 100644
--- a/test/integration/tags_test.go
+++ b/test/integration/tags_test.go
@@ -4,7 +4,9 @@ import (
"context"
"testing"
- . "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
+ . "github.com/linode/linodego/v2"
+ "github.com/stretchr/testify/require"
)
func TestTag_Create_create_smoke(t *testing.T) {
@@ -19,11 +21,8 @@ func TestTag_Create_create_smoke(t *testing.T) {
}
updateOpts := instance.GetUpdateOptions()
- if updateOpts.Tags == nil {
- updateOpts.Tags = new([]string)
- }
- newTags := append(*updateOpts.Tags, "go-tag-test-bar")
- updateOpts.Tags = &newTags
+ newTags := append(updateOpts.Tags, "go-tag-test-bar")
+ updateOpts.Tags = newTags
updateOpts.Backups = nil
instance, err = client.UpdateInstance(context.Background(), instance.ID, updateOpts)
if err != nil {
@@ -90,12 +89,45 @@ func TestTag_ListTaggedObjects_Missing(t *testing.T) {
}
}
+func TestTag_CreateTagWithReservedIP(t *testing.T) {
+ client, teardown := createTestClient(t, "fixtures/TestTag_CreateTagWithReservedIP")
+ defer teardown()
+
+ region := getRegionsWithCaps(t, client, []linodego.RegionCapability{CapabilityLinodes, CapabilityCloudFirewall})[0]
+
+ // Reserve an IP for testing
+ reservedIP, err := client.ReserveIPAddress(context.Background(), ReserveIPOptions{Region: region})
+ require.NoErrorf(t, err, "Failed to reserve IP: %v", err)
+
+ tag, err := client.CreateTag(context.Background(), TagCreateOptions{Label: "go-tag-test-foo", ReservedIPv4Addresses: []string{reservedIP.Address}})
+ require.NoErrorf(t, err, "Failed to create tag with reserved IP: %v", err)
+
+ tagObjects, err := client.ListTaggedObjects(context.Background(), tag.Label, nil)
+ require.NoErrorf(t, err, "Failed to list tagged objects: %v", err)
+
+ if len(tagObjects) == 0 || tagObjects[0].Type != "reserved_ipv4_address" || !tagObjects[0].Data.(InstanceIP).Reserved ||
+ tagObjects[0].Data.(InstanceIP).Tags[0] != tag.Label {
+ t.Fatalf("Should have found Tag in tagged objects list, got %v", tagObjects)
+ }
+
+ defer func() {
+ err = client.DeleteTag(context.Background(), tag.Label)
+ require.NoErrorf(t, err, "Failed to delete tag with reserved IP: %v", err)
+
+ _, err = client.GetReservedIPAddress(context.Background(), reservedIP.Address)
+ require.Nilf(t, err, "Reserved IP should not have been deleted: %v", err)
+
+ err = client.DeleteReservedIPAddress(context.Background(), reservedIP.Address)
+ require.NoErrorf(t, err, "Failed to delete reserved IP: %v", err)
+ }()
+}
+
func setupTaggedInstance(t *testing.T, fixturesYaml string) (*Client, *Instance, func(), error) {
t.Helper()
client, fixtureTeardown := createTestClient(t, fixturesYaml)
createOpts := InstanceCreateOptions{
Label: "go-ins-test-tag",
- Region: getRegionsWithCaps(t, client, []string{"Linodes"})[0],
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes})[0],
Type: "g6-nanode-1",
Tags: []string{"go-tag-test"},
}
diff --git a/test/integration/types_test.go b/test/integration/types_test.go
index 3331c6739..d10ea5e02 100644
--- a/test/integration/types_test.go
+++ b/test/integration/types_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestType_GetMissing(t *testing.T) {
diff --git a/test/integration/vlans_test.go b/test/integration/vlans_test.go
index 64bcced77..2171a54b9 100644
--- a/test/integration/vlans_test.go
+++ b/test/integration/vlans_test.go
@@ -5,18 +5,21 @@ import (
"fmt"
"regexp"
"testing"
+ "time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestVLANs_List_smoke(t *testing.T) {
+ ctx := waitContext(t, 240*time.Second)
+
vlanName := "go-vlan-test-list"
instancePrefix := "go-ins-test-list"
client, fixturesTeardown := createTestClient(t, "fixtures/TestVLANs_List")
defer fixturesTeardown()
- var instances []*linodego.Instance
+ var instances []linodego.Instance
for i := 0; i < 2; i++ {
instance, instanceTeardown, err := createVLANInstance(t, client, fmt.Sprintf("%s-%d", instancePrefix, i), vlanName)
if err != nil {
@@ -24,11 +27,11 @@ func TestVLANs_List_smoke(t *testing.T) {
}
defer instanceTeardown()
- instances = append(instances, instance)
+ instances = append(instances, *instance)
}
for _, instance := range instances {
- if _, err := client.WaitForInstanceStatus(context.Background(), instance.ID, linodego.InstanceRunning, 240); err != nil {
+ if _, err := client.WaitForInstanceStatus(ctx, instance.ID, linodego.InstanceRunning); err != nil {
t.Error(err)
}
}
@@ -52,6 +55,8 @@ func TestVLANs_List_smoke(t *testing.T) {
}
func TestVLANs_GetIPAMAddress(t *testing.T) {
+ ctx := waitContext(t, 240*time.Second)
+
vlanName := "go-vlan-test-ipam"
instancePrefix := "go-ins-test-ipam"
@@ -64,7 +69,7 @@ func TestVLANs_GetIPAMAddress(t *testing.T) {
}
defer instanceTeardown()
- _, err = client.WaitForInstanceStatus(context.Background(), instance.ID, linodego.InstanceRunning, 240)
+ _, err = client.WaitForInstanceStatus(ctx, instance.ID, linodego.InstanceRunning)
if err != nil {
t.Error(err)
}
@@ -96,7 +101,7 @@ func createVLANInstance(t *testing.T, client *linodego.Client, instanceName, vla
opts.Booted = &trueBool
opts.Label = instanceName
- opts.Region = getRegionsWithCaps(t, client, []string{"Vlans"})[0]
+ opts.Region = getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityVlans})[0]
})
if err != nil {
return nil, nil, err
diff --git a/test/integration/volume_types_test.go b/test/integration/volume_types_test.go
index 919ac8080..c56ae9dc5 100644
--- a/test/integration/volume_types_test.go
+++ b/test/integration/volume_types_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/require"
)
diff --git a/test/integration/volumes_test.go b/test/integration/volumes_test.go
index f076e0906..8a1817b8f 100644
--- a/test/integration/volumes_test.go
+++ b/test/integration/volumes_test.go
@@ -5,18 +5,21 @@ import (
"testing"
"time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
+ "github.com/stretchr/testify/require"
)
type volumeModifier func(*linodego.Client, *linodego.VolumeCreateOptions)
func TestVolume_Create_smoke(t *testing.T) {
+ ctx := waitContext(t, 30*time.Second)
+
client, teardown := createTestClient(t, "fixtures/TestVolume_Create")
defer teardown()
createOpts := linodego.VolumeCreateOptions{
- Label: "go-vol-test-create",
- Region: getRegionsWithCaps(t, client, []string{"Linodes"})[0],
+ Label: "go-vol-test-create-" + randString(6, digits),
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes})[0],
}
volume, err := client.CreateVolume(context.Background(), createOpts)
if err != nil {
@@ -29,6 +32,9 @@ func TestVolume_Create_smoke(t *testing.T) {
assertDateSet(t, volume.Created)
assertDateSet(t, volume.Updated)
+ volume, err = client.WaitForVolumeStatus(ctx, volume.ID, linodego.VolumeActive)
+ require.NoErrorf(t, err, "Error waiting for volume to be active: %v", err)
+
// volumes deleted too fast tend to stick, adding a few seconds to catch up
time.Sleep(time.Second * 5)
if err := client.DeleteVolume(context.Background(), volume.ID); err != nil {
@@ -37,12 +43,17 @@ func TestVolume_Create_smoke(t *testing.T) {
}
func TestVolume_Create_withEncryption(t *testing.T) {
+ ctx := waitContext(t, 30*time.Second)
+
client, teardown := createTestClient(t, "fixtures/TestVolume_Create_withEncryption")
defer teardown()
createOpts := linodego.VolumeCreateOptions{
- Label: "go-vol-test-create-encryption",
- Region: getRegionsWithCaps(t, client, []string{"Linodes", "Block Storage Encryption"})[0],
+ Label: "go-vol-test-create-encryption",
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{
+ linodego.CapabilityLinodes,
+ linodego.CapabilityBlockStorageEncryption,
+ })[0],
Encryption: "enabled",
}
volume, err := client.CreateVolume(context.Background(), createOpts)
@@ -53,6 +64,9 @@ func TestVolume_Create_withEncryption(t *testing.T) {
t.Errorf("Expected a volumes id, but got 0")
}
+ volume, err = client.WaitForVolumeStatus(ctx, volume.ID, linodego.VolumeActive)
+ require.NoErrorf(t, err, "Error waiting for volume to be active: %v", err)
+
assertDateSet(t, volume.Created)
assertDateSet(t, volume.Updated)
@@ -64,6 +78,8 @@ func TestVolume_Create_withEncryption(t *testing.T) {
}
func TestVolume_Resize(t *testing.T) {
+ ctx := waitContext(t, 500*time.Second)
+
client, volume, teardown, err := setupVolume(t, "fixtures/TestVolume_Resize")
defer teardown()
@@ -71,19 +87,24 @@ func TestVolume_Resize(t *testing.T) {
t.Errorf("Error setting up volume test, %s", err)
}
- _, err = client.WaitForVolumeStatus(context.Background(), volume.ID, linodego.VolumeActive, 500)
- if err != nil {
- t.Errorf("Error waiting for volume to be active, %s", err)
- }
+ _, err = client.WaitForVolumeStatus(ctx, volume.ID, linodego.VolumeActive)
+ require.NoErrorf(t, err, "Error waiting for volume to be active: %v", err)
- if err := client.ResizeVolume(context.Background(), volume.ID, volume.Size+1); err != nil {
+ opts := linodego.VolumeResizeOptions{
+ Size: volume.Size + 1,
+ }
+ if err := client.ResizeVolume(context.Background(), volume.ID, opts); err != nil {
t.Errorf("Error resizing volume, %s", err)
}
+
+ volume, err = client.WaitForVolumeStatus(ctx, volume.ID, linodego.VolumeActive)
+ require.NoErrorf(t, err, "Error waiting for volume to be active: %v", err)
}
func TestVolumes_List_smoke(t *testing.T) {
client, volume, teardown, err := setupVolume(t, "fixtures/TestVolume_List")
defer teardown()
+ require.NoErrorf(t, err, "Error setting up volume test, %s", err)
volumes, err := client.ListVolumes(context.Background(), nil)
if err != nil {
@@ -116,12 +137,17 @@ func TestVolume_Get(t *testing.T) {
}
func TestVolume_Get_withEncryption(t *testing.T) {
+ ctx := waitContext(t, 30*time.Second)
+
client, teardown := createTestClient(t, "fixtures/TestVolume_Get_withEncryption")
defer teardown()
createOpts := linodego.VolumeCreateOptions{
- Label: "go-vol-test-get-encryption",
- Region: getRegionsWithCaps(t, client, []string{"Linodes", "Block Storage Encryption"})[0],
+ Label: "go-vol-test-get-encryption",
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{
+ linodego.CapabilityLinodes,
+ linodego.CapabilityBlockStorageEncryption,
+ })[0],
Encryption: "enabled",
}
volume, err := client.CreateVolume(context.Background(), createOpts)
@@ -132,6 +158,9 @@ func TestVolume_Get_withEncryption(t *testing.T) {
t.Errorf("Expected a volumes id, but got 0")
}
+ volume, err = client.WaitForVolumeStatus(ctx, volume.ID, linodego.VolumeActive)
+ require.NoErrorf(t, err, "Error waiting for volume to be active: %v", err)
+
returnedVolume, err := client.GetVolume(context.Background(), volume.ID)
if err != nil {
t.Errorf("Error getting volume %d, expected *LinodeVolume, got error %v", volume.ID, err)
@@ -141,9 +170,7 @@ func TestVolume_Get_withEncryption(t *testing.T) {
}
volumes, err := client.ListVolumes(context.Background(), nil)
- if err != nil {
- t.Errorf("Error listing volumes, expected struct, got error %v", err)
- }
+ require.NoErrorf(t, err, "Error listing volumes, expected struct, got error %v", err)
found := false
for _, v := range volumes {
if v.ID == volume.ID {
@@ -165,19 +192,23 @@ func TestVolume_Get_withEncryption(t *testing.T) {
}
func TestVolume_WaitForLinodeID_nil(t *testing.T) {
+ ctx := waitContext(t, 45*time.Second)
+
client, volume, teardown, err := setupVolume(t, "fixtures/TestVolume_WaitForLinodeID_nil")
defer teardown()
if err != nil {
t.Errorf("Error setting up volume test, %s", err)
}
- _, err = client.WaitForVolumeLinodeID(context.Background(), volume.ID, nil, 20)
+ _, err = client.WaitForVolumeLinodeID(ctx, volume.ID, nil)
if err != nil {
t.Errorf("Error getting volume %d, expected *LinodeVolume, got error %v", volume.ID, err)
}
}
func TestVolume_WaitForLinodeID(t *testing.T) {
+ ctx := waitContext(t, 40*time.Second)
+
client, instance, teardownInstance, errInstance := setupInstance(t, "fixtures/TestVolume_WaitForLinodeID_linode", true)
if errInstance != nil {
t.Errorf("Error setting up instance for volume test, %s", errInstance)
@@ -207,7 +238,7 @@ func TestVolume_WaitForLinodeID(t *testing.T) {
t.Errorf("Could not attach test volume to test instance")
}
- _, errWait := client.WaitForVolumeLinodeID(context.Background(), volume.ID, nil, 20)
+ _, errWait := client.WaitForVolumeLinodeID(ctx, volume.ID, nil)
if errWait == nil {
t.Errorf("Expected to timeout waiting for nil LinodeID on volume %d : %s", volume.ID, errWait)
}
@@ -215,7 +246,7 @@ func TestVolume_WaitForLinodeID(t *testing.T) {
client, teardownWait := createTestClient(t, "fixtures/TestVolume_WaitForLinodeID_waiting")
defer teardownWait()
- v, errWait := client.WaitForVolumeLinodeID(context.Background(), volume.ID, &instance.ID, 20)
+ v, errWait := client.WaitForVolumeLinodeID(ctx, volume.ID, &instance.ID)
if errWait != nil {
t.Errorf("Error waiting for volume %d to attach to instance %d: %s", volume.ID, instance.ID, errWait)
}
@@ -253,17 +284,22 @@ func TestVolume_Update(t *testing.T) {
func setupVolume(t *testing.T, fixturesYaml string) (*linodego.Client, *linodego.Volume, func(), error) {
t.Helper()
+ ctx := waitContext(t, 30*time.Second)
+
var fixtureTeardown func()
client, fixtureTeardown := createTestClient(t, fixturesYaml)
createOpts := linodego.VolumeCreateOptions{
Label: "go-vol-test-def",
- Region: getRegionsWithCaps(t, client, []string{"Linodes"})[0],
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes})[0],
}
volume, err := client.CreateVolume(context.Background(), createOpts)
if err != nil {
t.Errorf("Error creating volume, got error %v", err)
}
+ volume, err = client.WaitForVolumeStatus(ctx, volume.ID, linodego.VolumeActive)
+ require.NoErrorf(t, err, "Error waiting for volume to be active: %v", err)
+
teardown := func() {
// volumes deleted too fast tend to stick, adding a few seconds to catch up
time.Sleep(time.Second * 5)
@@ -283,7 +319,7 @@ func createVolume(
t.Helper()
createOpts := linodego.VolumeCreateOptions{
Label: "go-vol-test" + randLabel(),
- Region: getRegionsWithCaps(t, client, []string{"Linodes"})[0],
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes})[0],
}
for _, mod := range vModifier {
diff --git a/test/integration/vpc_subnet_test.go b/test/integration/vpc_subnet_test.go
index ad40704ad..7932c162e 100644
--- a/test/integration/vpc_subnet_test.go
+++ b/test/integration/vpc_subnet_test.go
@@ -6,9 +6,10 @@ import (
"strings"
"testing"
- "github.com/linode/linodego"
- . "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
+ . "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -82,8 +83,11 @@ func createVPCWithSubnet(t *testing.T, client *linodego.Client, vpcModifier ...v
) {
t.Helper()
createOpts := linodego.VPCCreateOptions{
- Label: "go-test-vpc-" + getUniqueText(),
- Region: getRegionsWithCaps(t, client, []string{"Linodes", "VPCs"})[0],
+ Label: "go-test-vpc-" + getUniqueText(),
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{
+ linodego.CapabilityLinodes,
+ linodego.CapabilityVPCs,
+ })[0],
Subnets: []VPCSubnetCreateOptions{
{
Label: "linodego-vpc-test-" + getUniqueText(),
@@ -117,8 +121,11 @@ func createVPCWithDualStackSubnet(t *testing.T, client *linodego.Client, vpcModi
) {
t.Helper()
createOpts := linodego.VPCCreateOptions{
- Label: "go-test-vpc-" + getUniqueText(),
- Region: getRegionsWithCaps(t, client, []string{"Linodes", "VPCs"})[0],
+ Label: "go-test-vpc-" + getUniqueText(),
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{
+ linodego.CapabilityLinodes,
+ linodego.CapabilityVPCs,
+ })[0],
IPv6: []VPCCreateOptionsIPv6{
{
Range: linodego.Pointer("/52"),
@@ -192,6 +199,7 @@ func TestVPC_Subnet_Create(t *testing.T) {
vpcSubnetCheck(vpcSubnet, t)
opts := vpcSubnet.GetCreateOptions()
vpcSubnetCreateOptionsCheck(&opts, vpcSubnet, t)
+ assert.Equal(t, linodego.VPCTypeRegular, vpcSubnet.VPCType, "Expected VPC type to be regular")
}
func TestVPC_Subnet_Update(t *testing.T) {
@@ -243,14 +251,14 @@ func TestVPC_Subnet_List(t *testing.T) {
}
func TestVPC_Subnet_Create_Invalid_data(t *testing.T) {
- client, vpc, teardown, err := setupVPC(t, "fixtures/TestVPC_Subnet_Create_Invalid_data")
+ client, vpc, _, teardown, err := setupVPC(t, "fixtures/TestVPC_Subnet_Create_Invalid_data")
defer teardown()
if err != nil {
t.Error(formatVPCSubnetError(err, "setting up", nil, nil))
}
createOpts := linodego.VPCSubnetCreateOptions{
- Label: "linodego-vpc-test_invalid_label" + getUniqueText(),
+ Label: "linodego-vpc-test_invalid_label!" + getUniqueText(),
IPv4: TestSubnetIPv4,
}
_, err = client.CreateVPCSubnet(context.Background(), createOpts, vpc.ID)
@@ -259,7 +267,7 @@ func TestVPC_Subnet_Create_Invalid_data(t *testing.T) {
if e.Code != 400 {
t.Errorf("should have received a 400 Code with invalid label, got %v", e.Code)
}
- expectedErrorMessage := "Label must include only ASCII letters, numbers, and dashes"
+ expectedErrorMessage := "Must only use ASCII letters, numbers, and underscores"
if !strings.Contains(e.Message, expectedErrorMessage) {
t.Errorf("Wrong error message displayed should have contained, %s", expectedErrorMessage)
}
@@ -276,7 +284,7 @@ func TestVPC_Subnet_Update_Invalid_data(t *testing.T) {
opts := vpcSubnet.GetUpdateOptions()
vpcSubnetUpdateOptionsCheck(&opts, vpcSubnet, t)
- opts.Label = "invalid_label"
+ opts.Label = "invalid_label!"
_, err = client.UpdateVPCSubnet(
context.Background(),
vpc.ID,
@@ -289,7 +297,7 @@ func TestVPC_Subnet_Update_Invalid_data(t *testing.T) {
if e.Code != 400 {
t.Errorf("should have received a 400 Code with invalid label, got %v", e.Code)
}
- expectedErrorMessage := "Label must include only ASCII letters, numbers, and dashes"
+ expectedErrorMessage := "Must only use ASCII letters, numbers, and underscores"
if !strings.Contains(e.Message, expectedErrorMessage) {
t.Errorf("Wrong error message displayed should have contained, %s", expectedErrorMessage)
}
@@ -364,3 +372,84 @@ func TestVPC_Subnet_WithNodeBalancer(t *testing.T) {
assert.Equal(t, "192.168.0.64/30", refreshedSubnet.Nodebalancers[0].Ipv4Range, "expected matching ipv4 range")
assert.Equal(t, 0, len(refreshedSubnet.Nodebalancers[0].Ipv6Ranges), "expected 0 ipv6 ranges")
}
+
+func TestVPC_Subnet_WithRDMAType(t *testing.T) {
+ client, vpc, vpcSubnet, teardown, err := setupVPCWithSubnet(
+ t,
+ "fixtures/TestVPC_Subnet_WithRDMAType",
+ func(client *linodego.Client, opts *linodego.VPCCreateOptions) {
+ // GPUDirect RDMA capability not available for now
+ // opts.Region = getRegionsWithCaps(t, client, []string{linodego.CapabilityVPCs, linodego.CapabilityGPUDirectRDMA})
+ opts.Region = getRegionsWithCaps(t, client, []RegionCapability{linodego.CapabilityVPCs})[0]
+ opts.VPCType = linodego.VPCTypeRDMA
+ },
+ )
+ defer teardown()
+ require.NoError(t, err, "Error creating RDMA VPC with subnet")
+ assert.Equal(t, linodego.VPCTypeRDMA, vpcSubnet.VPCType, "Expected VPC subnet type to be RDMA")
+
+ vpcSubnet, err = client.GetVPCSubnet(context.Background(), vpc.ID, vpcSubnet.ID)
+ require.NoError(t, err, "Error retrieving VPC subnet")
+ assert.Equal(t, linodego.VPCTypeRDMA, vpcSubnet.VPCType, "Expected VPC subnet type to be RDMA")
+
+ subnets, err := client.ListVPCSubnets(context.Background(), vpc.ID, nil)
+ require.NoError(t, err, "Error listing VPC subnets")
+
+ var found *linodego.VPCSubnet
+ for idx := range subnets {
+ if subnets[idx].ID == vpcSubnet.ID {
+ found = &subnets[idx]
+ break
+ }
+ }
+ require.NotNil(t, found, "VPC subnet not found in list")
+ assert.Equal(t, linodego.VPCTypeRDMA, found.VPCType, "Expected VPC subnet type to be RDMA")
+}
+
+// TODO: uncomment when RDMA VPC with IPv6 is blocked
+// Both tests probably will be removed completely (as it should be blocked on VPC level already)
+//func TestVPC_Subnet_WithRDMATypeAndIPv6(t *testing.T) {
+// _, _, vpcSubnet, teardown, err := setupVPCWithSubnet(
+// t,
+// "fixtures/TestVPC_Subnet_WithRDMATypeAndIPv6",
+// func(client *linodego.Client, opts *linodego.VPCCreateOptions) {
+// //GPUDirect RDMA capability not available for now
+// //opts.Region = getRegionsWithCaps(t, client, []string{linodego.CapabilityVPCs, linodego.CapabilityGPUDirectRDMA})
+// opts.Region = getRegionsWithCaps(t, client, []RegionCapability{linodego.CapabilityVPCs})[0]
+// opts.VPCType = linodego.VPCTypeRDMA
+// opts.IPv6 = []VPCCreateOptionsIPv6{
+// {
+// Range: linodego.Pointer("/52"),
+// },
+// }
+// },
+// )
+// defer teardown()
+// require.NoError(t, err, "Error creating RDMA VPC with subnet")
+// assert.Equal(t, linodego.VPCTypeRDMA, vpcSubnet.VPCType, "Expected VPC subnet type to be RDMA")
+// assert.Nil(t, vpcSubnet.IPv6, "Expected VPC subnet IPv6 to be nil")
+//}
+//
+//func TestVPC_Subnet_WithRDMATypeAndIPv6_Fail(t *testing.T) {
+// t.Helper()
+// client, fixtureTeardown := createTestClient(t, "fixtures/TestVPC_Subnet_WithRDMATypeAndIPv6_Fail")
+// defer fixtureTeardown()
+//
+// _, _, teardown, err := createVPCWithDualStackSubnet(
+// t,
+// client,
+// func(client *linodego.Client, opts *linodego.VPCCreateOptions) {
+// //GPUDirect RDMA capability not available for now
+// //opts.Region = getRegionsWithCaps(t, client, []string{linodego.CapabilityVPCs, linodego.CapabilityGPUDirectRDMA})
+// opts.Region = getRegionsWithCaps(t, client, []RegionCapability{linodego.CapabilityVPCs})[0]
+// opts.VPCType = linodego.VPCTypeRDMA
+// },
+// )
+// defer teardown()
+// require.Error(t, err, "Expected error creating VPC with RDMA type and IPv6")
+//
+// e, _ := err.(*Error)
+// assert.Equal(t, 400, e.Code, "Expected error code 400, got: %d", e.Code)
+// expectedErrorMessage := "RDMA VPCs cannot have IPv6 ranges"
+// assert.Contains(t, e.Message, expectedErrorMessage, "Expected error message to contain: %s, got: %s", expectedErrorMessage, e.Message)
+//}
diff --git a/test/integration/vpc_test.go b/test/integration/vpc_test.go
index 0e4509004..678d1b623 100644
--- a/test/integration/vpc_test.go
+++ b/test/integration/vpc_test.go
@@ -6,8 +6,8 @@ import (
"strings"
"testing"
- "github.com/linode/linodego"
- . "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
+ . "github.com/linode/linodego/v2"
"github.com/stretchr/testify/require"
)
@@ -32,11 +32,11 @@ func formatVPCError(err error, action string, vpcID *int) error {
)
}
-func createVPC(t *testing.T, client *linodego.Client, vpcModifier ...vpcModifier) (*linodego.VPC, func(), error) {
+func createVPC(t *testing.T, client *linodego.Client, vpcModifier ...vpcModifier) (*linodego.VPC, linodego.VPCCreateOptions, func(), error) {
t.Helper()
createOpts := linodego.VPCCreateOptions{
Label: "go-test-vpc-" + getUniqueText(),
- Region: getRegionsWithCaps(t, client, []string{"VPCs"})[0],
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{CapabilityVPCs})[0],
}
for _, mod := range vpcModifier {
@@ -53,14 +53,14 @@ func createVPC(t *testing.T, client *linodego.Client, vpcModifier ...vpcModifier
t.Error(formatVPCError(err, "deleting", &vpc.ID))
}
}
- return vpc, teardown, err
+ return vpc, createOpts, teardown, err
}
func createVPC_invalid_label(t *testing.T, client *linodego.Client) error {
t.Helper()
createOpts := linodego.VPCCreateOptions{
- Label: "gotest_vpc_invalid_label" + getUniqueText(),
- Region: getRegionsWithCaps(t, client, []string{"VPCs"})[0],
+ Label: "gotest_vpc_invalid_label!" + getUniqueText(),
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{CapabilityVPCs})[0],
}
_, err := client.CreateVPC(context.Background(), createOpts)
@@ -70,19 +70,20 @@ func createVPC_invalid_label(t *testing.T, client *linodego.Client) error {
func setupVPC(t *testing.T, fixturesYaml string) (
*linodego.Client,
*linodego.VPC,
+ linodego.VPCCreateOptions,
func(),
error,
) {
t.Helper()
client, fixtureTeardown := createTestClient(t, fixturesYaml)
- vpc, vpcTeardown, err := createVPC(t, client)
+ vpc, createOpts, vpcTeardown, err := createVPC(t, client)
teardown := func() {
vpcTeardown()
fixtureTeardown()
}
- return client, vpc, teardown, err
+ return client, vpc, createOpts, teardown, err
}
func vpcCheck(vpc *linodego.VPC, t *testing.T) {
@@ -98,20 +99,20 @@ func vpcCreateOptionsCheck(
vpc *linodego.VPC,
t *testing.T,
) {
- good := (opts.Description == vpc.Description &&
- opts.Label == vpc.Label &&
- opts.Region == vpc.Region &&
- len(opts.Subnets) == len(vpc.Subnets))
+ require.NotEmpty(t, vpc.Label, "VPC label should not be empty")
+ require.Equal(t, opts.Description, vpc.Description, "VPC description mismatch")
+ require.Equal(t, opts.Region, vpc.Region, "VPC region mismatch")
+ require.Equal(t, len(opts.Subnets), len(vpc.Subnets), "VPC subnet count mismatch")
- for i := 0; i < minInt(len(opts.Subnets), len(vpc.Subnets)); i++ {
- good = good && (opts.Subnets[i].IPv4 == vpc.Subnets[i].IPv4 &&
- opts.Subnets[i].Label == vpc.Subnets[i].Label)
+ expectedVPCType := opts.VPCType
+ if expectedVPCType == "" {
+ expectedVPCType = VPCTypeRegular
}
+ require.Equal(t, expectedVPCType, vpc.VPCType, "VPC type mismatch")
- if !good {
- t.Error(
- "the VPC instance and the VPC creation options instance are mismatched",
- )
+ for i := 0; i < minInt(len(opts.Subnets), len(vpc.Subnets)); i++ {
+ require.Equal(t, opts.Subnets[i].IPv4, vpc.Subnets[i].IPv4, "VPC subnet IPv4 mismatch at index %d", i)
+ require.Equal(t, opts.Subnets[i].Label, vpc.Subnets[i].Label, "VPC subnet label mismatch at index %d", i)
}
}
@@ -126,19 +127,18 @@ func vpcUpdateOptionsCheck(
}
func TestVPC_CreateGet_smoke(t *testing.T) {
- client, vpc, teardown, err := setupVPC(t, "fixtures/TestVPC_CreateGet")
+ client, vpc, createOpts, teardown, err := setupVPC(t, "fixtures/TestVPC_CreateGet")
defer teardown()
if err != nil {
t.Error(formatVPCError(err, "setting up", nil))
}
vpcCheck(vpc, t)
- opts := vpc.GetCreateOptions()
- vpcCreateOptionsCheck(&opts, vpc, t)
+ vpcCreateOptionsCheck(&createOpts, vpc, t)
client.GetVPC(context.TODO(), vpc.ID)
}
func TestVPC_Update(t *testing.T) {
- client, vpc, teardown, err := setupVPC(t, "fixtures/TestVPC_Update")
+ client, vpc, _, teardown, err := setupVPC(t, "fixtures/TestVPC_Update")
defer teardown()
if err != nil {
t.Error(formatVPCError(err, "setting up", nil))
@@ -161,7 +161,7 @@ func TestVPC_Update(t *testing.T) {
}
func TestVPC_List(t *testing.T) {
- client, vpc, teardown, err := setupVPC(t, "fixtures/TestVPC_List")
+ client, vpc, _, teardown, err := setupVPC(t, "fixtures/TestVPC_List")
defer teardown()
if err != nil {
t.Error(formatVPCError(err, "setting up", nil))
@@ -195,14 +195,14 @@ func TestVPC_Create_Invalid_data(t *testing.T) {
if e.Code != 400 {
t.Errorf("should have received a 400 Code with invalid label, got %v", e.Code)
}
- expectedErrorMessage := "Label must include only ASCII letters, numbers, and dashes"
+ expectedErrorMessage := "Must only use ASCII letters, numbers, and underscores"
if !strings.Contains(e.Message, expectedErrorMessage) {
t.Errorf("Wrong error message displayed should have contained, %s", expectedErrorMessage)
}
}
func TestVPC_Update_Invalid_data(t *testing.T) {
- client, vpc, teardown, err := setupVPC(t, "fixtures/TestVPC_Update_Invalid")
+ client, vpc, _, teardown, err := setupVPC(t, "fixtures/TestVPC_Update_Invalid")
defer teardown()
if err != nil {
t.Error(formatVPCError(err, "setting up", nil))
@@ -213,7 +213,7 @@ func TestVPC_Update_Invalid_data(t *testing.T) {
vpcUpdateOptionsCheck(&opts, vpc, t)
updatedDescription := "updated description"
- updatedLabel := "updated_invalid_label"
+ updatedLabel := "updated-invalid_label!"
opts.Description = updatedDescription
opts.Label = updatedLabel
@@ -225,7 +225,7 @@ func TestVPC_Update_Invalid_data(t *testing.T) {
if e.Code != 400 {
t.Errorf("should have received a 400 Code with invalid label, got %v", e.Code)
}
- expectedErrorMessage := "Label must include only ASCII letters, numbers, and dashes"
+ expectedErrorMessage := "Must only use ASCII letters, numbers, and underscores"
if !strings.Contains(e.Message, expectedErrorMessage) {
t.Errorf("Wrong error message displayed should have contained, %s", expectedErrorMessage)
}
@@ -332,3 +332,65 @@ func TestVPC_ListIPv6Addresses(t *testing.T) {
require.Equal(t, vpcIPs[0].IPv6Addresses[0].SLAACAddress, config.Interfaces[0].IPv6.SLAAC[0].Address)
require.True(t, *vpcIPs[0].IPv6IsPublic)
}
+
+func TestVPC_WithRDMAType(t *testing.T) {
+ client, teardown := createTestClient(t, "fixtures/TestVPC_WithRDMAType")
+ defer teardown()
+
+ vpc, createOpts, vpcTeardown, err := createVPC(t, client, []vpcModifier{func(l *linodego.Client, options *linodego.VPCCreateOptions) {
+ // GPUDirect RDMA capability not available for now
+ // regions := getRegionsWithCaps(t, client, []string{linodego.CapabilityVPCs, linodego.CapabilityGPUDirectRDMA})
+ options.Region = getRegionsWithCaps(t, client, []RegionCapability{linodego.CapabilityVPCs})[0]
+ options.VPCType = linodego.VPCTypeRDMA
+ }}...)
+ require.NoError(t, err, "Error creating VPC with RDMA type")
+ defer vpcTeardown()
+ vpcCheck(vpc, t)
+ vpcCreateOptionsCheck(&createOpts, vpc, t)
+
+ vpc, err = client.GetVPC(context.Background(), vpc.ID)
+ require.NoError(t, err, "Error retrieving VPC")
+ vpcCreateOptionsCheck(&createOpts, vpc, t)
+
+ f := linodego.Filter{}
+ f.AddField(linodego.Eq, "vpc_type", "rdma")
+ filter, err := f.MarshalJSON()
+
+ vpcs, err := client.ListVPCs(context.Background(), &linodego.ListOptions{Filter: string(filter)})
+ require.NoError(t, err, "Error listing VPCs")
+
+ var found *linodego.VPC
+ for idx := range vpcs {
+ if vpcs[idx].ID == vpc.ID {
+ found = &vpcs[idx]
+ break
+ }
+ }
+ require.NotNil(t, found, "VPC not found in list")
+ vpcCreateOptionsCheck(&createOpts, found, t)
+}
+
+// TODO: Test is commented out because currently it will fail as IPv6 is not blocked on API side (WIP)
+//func TestVPC_WithRDMATypeIPv6_Fail(t *testing.T) {
+// client, teardown := createTestClient(t, "fixtures/TestVPC_WithRDMAType")
+// defer teardown()
+//
+// _, _, teardown, err := createVPC(t, client, []vpcModifier{func(l *linodego.Client, options *linodego.VPCCreateOptions) {
+// // GPUDirect RDMA capability not available for now
+// // regions := getRegionsWithCaps(t, client, []string{linodego.CapabilityVPCs, linodego.CapabilityGPUDirectRDMA})
+// options.Region = getRegionsWithCaps(t, client, []RegionCapability{linodego.CapabilityVPCs})[0]
+// options.VPCType = linodego.VPCTypeRDMA
+// options.IPv6 = []VPCCreateOptionsIPv6{
+// {
+// Range: linodego.Pointer("/52"),
+// },
+// }
+// }}...)
+// require.Error(t, err, "Expected error creating VPC with RDMA type and IPv6")
+// defer teardown()
+//
+// e, _ := err.(*Error)
+// assert.Equal(t, 400, e.Code, "Expected error code 400, got: %d", e.Code)
+// expectedErrorMessage := "RDMA VPCs cannot have IPv6 ranges"
+// assert.Contains(t, e.Message, expectedErrorMessage, "Expected error message to contain: %s, got: %s", expectedErrorMessage, e.Message)
+//}
diff --git a/test/integration/waitfor_test.go b/test/integration/waitfor_test.go
index 244b220f6..d8404327c 100644
--- a/test/integration/waitfor_test.go
+++ b/test/integration/waitfor_test.go
@@ -4,11 +4,14 @@ import (
"context"
"fmt"
"testing"
+ "time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestEventPoller_InstancePower(t *testing.T) {
+ ctx := waitContext(t, 520*time.Second)
+
client, fixtureTeardown := createTestClient(t, "fixtures/TestEventPoller_InstancePower")
t.Cleanup(fixtureTeardown)
@@ -18,7 +21,7 @@ func TestEventPoller_InstancePower(t *testing.T) {
}
instance, err := client.CreateInstance(context.Background(), linodego.InstanceCreateOptions{
- Region: getRegionsWithCaps(t, client, []string{"Linodes"})[0],
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes})[0],
Type: "g6-nanode-1",
Image: "linode/ubuntu22.04",
RootPass: randPassword(),
@@ -37,7 +40,7 @@ func TestEventPoller_InstancePower(t *testing.T) {
p.EntityID = instance.ID
- if _, err := p.WaitForFinished(context.Background(), 120); err != nil {
+ if _, err := p.WaitForFinished(ctx); err != nil {
t.Fatal(err)
}
@@ -48,11 +51,14 @@ func TestEventPoller_InstancePower(t *testing.T) {
t.Fatal(err)
}
- if err := client.BootInstance(context.Background(), instance.ID, 0); err != nil {
+ opts := linodego.InstanceBootOptions{
+ ConfigID: linodego.Pointer(0),
+ }
+ if err := client.BootInstance(context.Background(), instance.ID, opts); err != nil {
t.Fatal(err)
}
- event, err := p.WaitForFinished(context.Background(), 200)
+ event, err := p.WaitForFinished(ctx)
if err != nil {
t.Fatal(err)
}
@@ -77,7 +83,7 @@ func TestEventPoller_InstancePower(t *testing.T) {
t.Fatal(err)
}
- event, err = p.WaitForFinished(context.Background(), 200)
+ event, err = p.WaitForFinished(ctx)
if err != nil {
t.Fatal(err)
}
@@ -97,12 +103,14 @@ func TestEventPoller_InstancePower(t *testing.T) {
}
func TestWaitForResourceFree(t *testing.T) {
+ ctx := waitContext(t, 240*time.Second)
+
client, fixtureTeardown := createTestClient(t, "fixtures/TestWaitForResourceFree")
t.Cleanup(fixtureTeardown)
// Create a booted instance
instance, err := client.CreateInstance(context.Background(), linodego.InstanceCreateOptions{
- Region: getRegionsWithCaps(t, client, []string{"Linodes"})[0],
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes})[0],
Type: "g6-nanode-1",
Image: "linode/ubuntu22.04",
RootPass: randPassword(),
@@ -119,7 +127,7 @@ func TestWaitForResourceFree(t *testing.T) {
})
// Wait for the instance to be done with all events
- err = client.WaitForResourceFree(context.Background(), linodego.EntityLinode, instance.ID, 240)
+ err = client.WaitForResourceFree(ctx, linodego.EntityLinode, instance.ID)
if err != nil {
t.Fatal(err)
}
@@ -136,6 +144,8 @@ func TestWaitForResourceFree(t *testing.T) {
}
func TestEventPoller_Secondary(t *testing.T) {
+ ctx := waitContext(t, 240*time.Second)
+
client, fixtureTeardown := createTestClient(t, "fixtures/TestEventPoller_Secondary")
defer fixtureTeardown()
@@ -145,7 +155,7 @@ func TestEventPoller_Secondary(t *testing.T) {
}
instance, err := client.CreateInstance(context.Background(), linodego.InstanceCreateOptions{
- Region: getRegionsWithCaps(t, client, []string{"Linodes"})[0],
+ Region: getRegionsWithCaps(t, client, []linodego.RegionCapability{linodego.CapabilityLinodes})[0],
Type: "g6-nanode-1",
Label: "go-ins-poll-test",
Booted: linodego.Pointer(false),
@@ -162,12 +172,12 @@ func TestEventPoller_Secondary(t *testing.T) {
createPoller.EntityID = instance.ID
- if _, err := createPoller.WaitForFinished(context.Background(), 120); err != nil {
+ if _, err := createPoller.WaitForFinished(ctx); err != nil {
t.Fatal(err)
}
// Create two instance disks
- disks := make([]*linodego.InstanceDisk, 2)
+ disks := make([]linodego.InstanceDisk, 2)
for i := 0; i < 2; i++ {
disk, err := client.CreateInstanceDisk(context.Background(), instance.ID, linodego.InstanceDiskCreateOptions{
@@ -178,7 +188,7 @@ func TestEventPoller_Secondary(t *testing.T) {
t.Fatalf("failed to create instance disk: %s", err)
}
- disks[i] = disk
+ disks[i] = *disk
}
// Poll for the first disk to be deleted
@@ -211,7 +221,7 @@ func TestEventPoller_Secondary(t *testing.T) {
}
// Wait for the first disk to be deleted
- deleteEvent, err := diskPoller.WaitForFinished(context.Background(), 60)
+ deleteEvent, err := diskPoller.WaitForFinished(ctx)
if err != nil {
t.Fatal(err)
}
@@ -219,7 +229,7 @@ func TestEventPoller_Secondary(t *testing.T) {
// Poll for the second disk to be deleted.
// This is necessary to cover an edge case that triggers a panic
// when other deletion events with a null SecondaryEntity are discovered.
- if _, err := diskPoller2.WaitForFinished(context.Background(), 60); err != nil {
+ if _, err := diskPoller2.WaitForFinished(ctx); err != nil {
t.Fatal(err)
}
diff --git a/test/unit/account_agreements_test.go b/test/unit/account_agreements_test.go
index 060d686c7..1602f876e 100644
--- a/test/unit/account_agreements_test.go
+++ b/test/unit/account_agreements_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/account_availability_test.go b/test/unit/account_availability_test.go
index 6ba12726f..d6a35ee9c 100644
--- a/test/unit/account_availability_test.go
+++ b/test/unit/account_availability_test.go
@@ -5,7 +5,7 @@ import (
"fmt"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/account_betas_test.go b/test/unit/account_betas_test.go
index 7c7512cc6..b268333ec 100644
--- a/test/unit/account_betas_test.go
+++ b/test/unit/account_betas_test.go
@@ -6,7 +6,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/account_events_test.go b/test/unit/account_events_test.go
index 16a19459e..5446aa449 100644
--- a/test/unit/account_events_test.go
+++ b/test/unit/account_events_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/account_logins_test.go b/test/unit/account_logins_test.go
index 4075a36f3..ad473d093 100644
--- a/test/unit/account_logins_test.go
+++ b/test/unit/account_logins_test.go
@@ -5,7 +5,7 @@ import (
"fmt"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/account_notifications_test.go b/test/unit/account_notifications_test.go
index bf3102ad0..b0a8c5b6e 100644
--- a/test/unit/account_notifications_test.go
+++ b/test/unit/account_notifications_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/account_oauth_client_test.go b/test/unit/account_oauth_client_test.go
index 3aaccaa1b..96a326c89 100644
--- a/test/unit/account_oauth_client_test.go
+++ b/test/unit/account_oauth_client_test.go
@@ -6,7 +6,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/account_payment_methods_test.go b/test/unit/account_payment_methods_test.go
index b4eed5b99..b3e7a8fa7 100644
--- a/test/unit/account_payment_methods_test.go
+++ b/test/unit/account_payment_methods_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/account_payments_test.go b/test/unit/account_payments_test.go
index 36553b433..3b1e45175 100644
--- a/test/unit/account_payments_test.go
+++ b/test/unit/account_payments_test.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/account_promo_credits_test.go b/test/unit/account_promo_credits_test.go
index bed7a8cf7..6f21fe141 100644
--- a/test/unit/account_promo_credits_test.go
+++ b/test/unit/account_promo_credits_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/account_service_transfer_test.go b/test/unit/account_service_transfer_test.go
index 740e39589..f0747c62d 100644
--- a/test/unit/account_service_transfer_test.go
+++ b/test/unit/account_service_transfer_test.go
@@ -6,7 +6,7 @@ import (
"time"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/account_settings_test.go b/test/unit/account_settings_test.go
index d2874ec82..bfaceadcd 100644
--- a/test/unit/account_settings_test.go
+++ b/test/unit/account_settings_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/account_test.go b/test/unit/account_test.go
index d3521b855..cc214cb43 100644
--- a/test/unit/account_test.go
+++ b/test/unit/account_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/account_user_grants_test.go b/test/unit/account_user_grants_test.go
index 4aefaa557..2f871af5b 100644
--- a/test/unit/account_user_grants_test.go
+++ b/test/unit/account_user_grants_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/account_users_test.go b/test/unit/account_users_test.go
index e72c3a4bf..cbea52dd0 100644
--- a/test/unit/account_users_test.go
+++ b/test/unit/account_users_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/base.go b/test/unit/base.go
index f3977e0f9..e298e146c 100644
--- a/test/unit/base.go
+++ b/test/unit/base.go
@@ -7,8 +7,8 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
- "github.com/linode/linodego/internal/testutil"
+ "github.com/linode/linodego/v2"
+ "github.com/linode/linodego/v2/internal/testutil"
"github.com/stretchr/testify/mock"
)
@@ -27,7 +27,7 @@ type ClientBaseCase struct {
// SetUp initializes the Linode client using the mock HTTP client
func (c *ClientBaseCase) SetUp(t *testing.T) {
c.Mock = &mock.Mock{}
- c.Client = testutil.CreateMockClient(t, linodego.NewClient)
+ c.Client = testutil.CreateMockClientWithError(t, linodego.NewClient)
baseURL := "https://" + linodego.APIHost
if hostOverride, ok := os.LookupEnv(linodego.APIHostVar); ok && hostOverride != "" {
diff --git a/test/unit/client_test.go b/test/unit/client_test.go
index 31f8fe9e5..c532ff113 100644
--- a/test/unit/client_test.go
+++ b/test/unit/client_test.go
@@ -6,7 +6,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"golang.org/x/net/http2"
)
diff --git a/test/unit/database_test.go b/test/unit/database_test.go
index b65bd22b7..1455c97cb 100644
--- a/test/unit/database_test.go
+++ b/test/unit/database_test.go
@@ -7,7 +7,7 @@ import (
"slices"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/domain_test.go b/test/unit/domain_test.go
index 28fa89f3f..276c522db 100644
--- a/test/unit/domain_test.go
+++ b/test/unit/domain_test.go
@@ -6,7 +6,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/domainrecord_test.go b/test/unit/domainrecord_test.go
index 86063cfac..a84f1c3b4 100644
--- a/test/unit/domainrecord_test.go
+++ b/test/unit/domainrecord_test.go
@@ -7,7 +7,7 @@ import (
"time"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/entities_test.go b/test/unit/entities_test.go
index 4906ae737..4fa66bfcb 100644
--- a/test/unit/entities_test.go
+++ b/test/unit/entities_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/firewall_devices_test.go b/test/unit/firewall_devices_test.go
index a547b1a3f..36cfdd3a7 100644
--- a/test/unit/firewall_devices_test.go
+++ b/test/unit/firewall_devices_test.go
@@ -6,8 +6,9 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestFirewallDevice_List(t *testing.T) {
@@ -37,12 +38,14 @@ func TestFirewallDevice_List(t *testing.T) {
switch device.Entity.Type {
case "linode":
assert.Equal(t, 123, device.Entity.ID)
- assert.Equal(t, "my-linode", device.Entity.Label)
+ require.NotNil(t, device.Entity.Label)
+ assert.Equal(t, "my-linode", *device.Entity.Label)
assert.Equal(t, "/v4/linode/instances/123", device.Entity.URL)
assert.Nil(t, device.Entity.ParentEntity)
case "nodebalancer":
assert.Equal(t, 321, device.Entity.ID)
- assert.Equal(t, "my-nodebalancer", device.Entity.Label)
+ require.NotNil(t, device.Entity.Label)
+ assert.Equal(t, "my-nodebalancer", *device.Entity.Label)
assert.Equal(t, "/v4/nodebalancers/123", device.Entity.URL)
assert.Nil(t, device.Entity.ParentEntity)
default:
@@ -73,7 +76,8 @@ func TestFirewallDevice_Get(t *testing.T) {
assert.NotNil(t, firewallDevice.Entity)
assert.Equal(t, 123, firewallDevice.Entity.ID)
- assert.Equal(t, "my-linode", firewallDevice.Entity.Label)
+ require.NotNil(t, firewallDevice.Entity.Label)
+ assert.Equal(t, "my-linode", *firewallDevice.Entity.Label)
assert.Equal(t, linodego.FirewallDeviceType("linode"), firewallDevice.Entity.Type)
assert.Equal(t, "/v4/linode/instances/123", firewallDevice.Entity.URL)
assert.Nil(t, firewallDevice.Entity.ParentEntity)
@@ -106,7 +110,8 @@ func TestFirewallDevice_Create(t *testing.T) {
assert.NotNil(t, firewallDevice.Entity)
assert.Equal(t, 123, firewallDevice.Entity.ID)
- assert.Equal(t, "my-linode", firewallDevice.Entity.Label)
+ require.NotNil(t, firewallDevice.Entity.Label)
+ assert.Equal(t, "my-linode", *firewallDevice.Entity.Label)
assert.Equal(t, linodego.FirewallDeviceType("linode"), firewallDevice.Entity.Type)
assert.Equal(t, "/v4/linode/instances/123", firewallDevice.Entity.URL)
assert.Nil(t, firewallDevice.Entity.ParentEntity)
@@ -163,12 +168,13 @@ func TestFirewallDevice_Get_WithParentEntity(t *testing.T) {
assert.NotNil(t, device)
assert.Equal(t, linodego.FirewallDeviceLinodeInterface, device.Entity.Type)
- assert.Equal(t, device.Entity.Label, "")
+ assert.Nil(t, device.Entity.Label, nil)
if assert.NotNil(t, device.Entity.ParentEntity) {
assert.Equal(t, 123, device.Entity.ParentEntity.ID)
assert.Equal(t, linodego.FirewallDeviceLinode, device.Entity.ParentEntity.Type)
- assert.Equal(t, "my-linode", device.Entity.ParentEntity.Label)
+ require.NotNil(t, device.Entity.ParentEntity.Label)
+ assert.Equal(t, "my-linode", *device.Entity.ParentEntity.Label)
assert.Equal(t, "/v4/linode/instances/123", device.Entity.ParentEntity.URL)
}
}
diff --git a/test/unit/firewall_rules_test.go b/test/unit/firewall_rules_test.go
index 2e04f9f77..d9f61ee55 100644
--- a/test/unit/firewall_rules_test.go
+++ b/test/unit/firewall_rules_test.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -34,8 +34,8 @@ func TestFirewallRule_Get(t *testing.T) {
assert.Equal(t, "An example firewall rule description.", firewallRule.Inbound[0].Description)
assert.Equal(t, "22-24, 80, 443", firewallRule.Inbound[0].Ports)
assert.Equal(t, linodego.NetworkProtocol("TCP"), firewallRule.Inbound[0].Protocol)
- assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, *firewallRule.Inbound[0].Addresses.IPv4)
- assert.ElementsMatch(t, []string{"2001:DB8::/128"}, *firewallRule.Inbound[0].Addresses.IPv6)
+ assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, firewallRule.Inbound[0].Addresses.IPv4)
+ assert.ElementsMatch(t, []string{"2001:DB8::/128"}, firewallRule.Inbound[0].Addresses.IPv6)
assert.Equal(t, "DROP", firewallRule.OutboundPolicy)
assert.Equal(t, 1, len(firewallRule.Outbound))
@@ -44,27 +44,22 @@ func TestFirewallRule_Get(t *testing.T) {
assert.Equal(t, "An example firewall rule description.", firewallRule.Outbound[0].Description)
assert.Equal(t, "22-24, 80, 443", firewallRule.Outbound[0].Ports)
assert.Equal(t, linodego.NetworkProtocol("TCP"), firewallRule.Outbound[0].Protocol)
- assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, *firewallRule.Outbound[0].Addresses.IPv4)
- assert.ElementsMatch(t, []string{"2001:DB8::/128"}, *firewallRule.Outbound[0].Addresses.IPv6)
+ assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, firewallRule.Outbound[0].Addresses.IPv4)
+ assert.ElementsMatch(t, []string{"2001:DB8::/128"}, firewallRule.Outbound[0].Addresses.IPv6)
}
func TestFirewallRule_MarshalJSON(t *testing.T) {
- ruleWithRuleset := linodego.FirewallRule{RuleSet: 51}
- data, err := json.Marshal(ruleWithRuleset)
- assert.NoError(t, err)
- assert.JSONEq(t, `{"ruleset":51}`, string(data))
-
ipv4 := []string{"pl::vpcs:123"}
- ruleWithoutRuleset := linodego.FirewallRule{
+ ruleWithoutRuleset := linodego.FirewallRuleSetRuleCreateOptions{
Action: "ACCEPT",
Label: "allow-vpc",
Ports: "443",
Protocol: linodego.NetworkProtocol("TCP"),
Addresses: linodego.NetworkAddresses{
- IPv4: &ipv4,
+ IPv4: ipv4,
},
}
- data, err = json.Marshal(ruleWithoutRuleset)
+ data, err := json.Marshal(ruleWithoutRuleset)
assert.NoError(t, err)
assert.JSONEq(t, `{
"action":"ACCEPT",
@@ -86,8 +81,8 @@ func TestFirewallRule_Update(t *testing.T) {
firewallID := 123
base.MockPut(formatMockAPIPath("networking/firewalls/%d/rules", firewallID), fixtureData)
- requestData := linodego.FirewallRuleSet{
- Inbound: []linodego.FirewallRule{
+ requestData := linodego.FirewallRulesUpdateOptions{
+ Inbound: []linodego.FirewallRuleInbound{
{
Action: "ACCEPT",
Label: "firewallrule123",
@@ -95,13 +90,13 @@ func TestFirewallRule_Update(t *testing.T) {
Ports: "22-24, 80, 443",
Protocol: "TCP",
Addresses: linodego.NetworkAddresses{
- IPv4: &[]string{"192.0.2.0/24", "198.51.100.2/32"},
- IPv6: &[]string{"2001:DB8::/128"},
+ IPv4: []string{"192.0.2.0/24", "198.51.100.2/32"},
+ IPv6: []string{"2001:DB8::/128"},
},
},
},
InboundPolicy: "DROP",
- Outbound: []linodego.FirewallRule{
+ Outbound: []linodego.FirewallRuleOutbound{
{
Action: "ACCEPT",
Label: "firewallrule123",
@@ -109,8 +104,8 @@ func TestFirewallRule_Update(t *testing.T) {
Ports: "22-24, 80, 443",
Protocol: "TCP",
Addresses: linodego.NetworkAddresses{
- IPv4: &[]string{"192.0.2.0/24", "198.51.100.2/32"},
- IPv6: &[]string{"2001:DB8::/128"},
+ IPv4: []string{"192.0.2.0/24", "198.51.100.2/32"},
+ IPv6: []string{"2001:DB8::/128"},
},
},
},
@@ -131,8 +126,8 @@ func TestFirewallRule_Update(t *testing.T) {
assert.Equal(t, "An example firewall rule description.", firewallRule.Inbound[0].Description)
assert.Equal(t, "22-24, 80, 443", firewallRule.Inbound[0].Ports)
assert.Equal(t, linodego.NetworkProtocol("TCP"), firewallRule.Inbound[0].Protocol)
- assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, *firewallRule.Inbound[0].Addresses.IPv4)
- assert.ElementsMatch(t, []string{"2001:DB8::/128"}, *firewallRule.Inbound[0].Addresses.IPv6)
+ assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, firewallRule.Inbound[0].Addresses.IPv4)
+ assert.ElementsMatch(t, []string{"2001:DB8::/128"}, firewallRule.Inbound[0].Addresses.IPv6)
assert.Equal(t, "DROP", firewallRule.OutboundPolicy)
assert.Equal(t, 1, len(firewallRule.Outbound))
@@ -141,8 +136,8 @@ func TestFirewallRule_Update(t *testing.T) {
assert.Equal(t, "An example firewall rule description.", firewallRule.Outbound[0].Description)
assert.Equal(t, "22-24, 80, 443", firewallRule.Outbound[0].Ports)
assert.Equal(t, linodego.NetworkProtocol("TCP"), firewallRule.Outbound[0].Protocol)
- assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, *firewallRule.Outbound[0].Addresses.IPv4)
- assert.ElementsMatch(t, []string{"2001:DB8::/128"}, *firewallRule.Outbound[0].Addresses.IPv6)
+ assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, firewallRule.Outbound[0].Addresses.IPv4)
+ assert.ElementsMatch(t, []string{"2001:DB8::/128"}, firewallRule.Outbound[0].Addresses.IPv6)
}
func TestFirewallRule_GetExpansion(t *testing.T) {
@@ -151,8 +146,8 @@ func TestFirewallRule_GetExpansion(t *testing.T) {
outboundIPv4 := []string{"pl::vpcs:1234"}
outboundIPv6 := []string{"pl::vpcs:"}
- mockResponse := linodego.FirewallRuleSet{
- Inbound: []linodego.FirewallRule{
+ mockResponse := linodego.FirewallRules{
+ Inbound: []linodego.FirewallRuleInbound{
{
Action: "ACCEPT",
Label: "accept-inbound-ssh",
@@ -160,13 +155,13 @@ func TestFirewallRule_GetExpansion(t *testing.T) {
Ports: "22",
Protocol: linodego.NetworkProtocol("TCP"),
Addresses: linodego.NetworkAddresses{
- IPv4: &inboundIPv4,
- IPv6: &inboundIPv6,
+ IPv4: inboundIPv4,
+ IPv6: inboundIPv6,
},
},
},
InboundPolicy: "DROP",
- Outbound: []linodego.FirewallRule{
+ Outbound: []linodego.FirewallRuleOutbound{
{
Action: "ACCEPT",
Label: "accept-outbound-ssh",
@@ -174,8 +169,8 @@ func TestFirewallRule_GetExpansion(t *testing.T) {
Ports: "22",
Protocol: linodego.NetworkProtocol("TCP"),
Addresses: linodego.NetworkAddresses{
- IPv4: &outboundIPv4,
- IPv6: &outboundIPv6,
+ IPv4: outboundIPv4,
+ IPv6: outboundIPv6,
},
},
},
@@ -204,10 +199,10 @@ func TestFirewallRule_GetExpansion(t *testing.T) {
assert.Equal(t, "22", firewallRuleSet.Inbound[0].Ports)
assert.Equal(t, linodego.NetworkProtocol("TCP"), firewallRuleSet.Inbound[0].Protocol)
if assert.NotNil(t, firewallRuleSet.Inbound[0].Addresses.IPv4) {
- assert.ElementsMatch(t, []string{"pl::vpcs:1234"}, *firewallRuleSet.Inbound[0].Addresses.IPv4)
+ assert.ElementsMatch(t, []string{"pl::vpcs:1234"}, firewallRuleSet.Inbound[0].Addresses.IPv4)
}
if assert.NotNil(t, firewallRuleSet.Inbound[0].Addresses.IPv6) {
- assert.ElementsMatch(t, []string{"pl::vpcs:"}, *firewallRuleSet.Inbound[0].Addresses.IPv6)
+ assert.ElementsMatch(t, []string{"pl::vpcs:"}, firewallRuleSet.Inbound[0].Addresses.IPv6)
}
}
@@ -220,10 +215,10 @@ func TestFirewallRule_GetExpansion(t *testing.T) {
assert.Equal(t, "22", firewallRuleSet.Outbound[0].Ports)
assert.Equal(t, linodego.NetworkProtocol("TCP"), firewallRuleSet.Outbound[0].Protocol)
if assert.NotNil(t, firewallRuleSet.Outbound[0].Addresses.IPv4) {
- assert.ElementsMatch(t, []string{"pl::vpcs:1234"}, *firewallRuleSet.Outbound[0].Addresses.IPv4)
+ assert.ElementsMatch(t, []string{"pl::vpcs:1234"}, firewallRuleSet.Outbound[0].Addresses.IPv4)
}
if assert.NotNil(t, firewallRuleSet.Outbound[0].Addresses.IPv6) {
- assert.ElementsMatch(t, []string{"pl::vpcs:"}, *firewallRuleSet.Outbound[0].Addresses.IPv6)
+ assert.ElementsMatch(t, []string{"pl::vpcs:"}, firewallRuleSet.Outbound[0].Addresses.IPv6)
}
}
diff --git a/test/unit/firewall_rulesets_test.go b/test/unit/firewall_rulesets_test.go
index 0d6992bad..5da1bc881 100644
--- a/test/unit/firewall_rulesets_test.go
+++ b/test/unit/firewall_rulesets_test.go
@@ -8,7 +8,7 @@ import (
"time"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -31,10 +31,9 @@ func TestFirewallRuleSets_List(t *testing.T) {
"ipv4": []string{"pl::vpcs:primary"},
"ipv6": []string{"pl::vpcs:primary"},
},
- "label": "ssh",
- "ports": "22",
- "protocol": "TCP",
- "description": "Allow inbound SSH",
+ "label": "ssh",
+ "ports": "22",
+ "protocol": "TCP",
},
},
"version": 3,
@@ -65,10 +64,10 @@ func TestFirewallRuleSets_List(t *testing.T) {
rule := rs.Rules[0]
assert.Equal(t, "ACCEPT", rule.Action)
if assert.NotNil(t, rule.Addresses.IPv4) {
- assert.Equal(t, []string{"pl::vpcs:primary"}, *rule.Addresses.IPv4)
+ assert.Equal(t, []string{"pl::vpcs:primary"}, rule.Addresses.IPv4)
}
if assert.NotNil(t, rule.Addresses.IPv6) {
- assert.Equal(t, []string{"pl::vpcs:primary"}, *rule.Addresses.IPv6)
+ assert.Equal(t, []string{"pl::vpcs:primary"}, rule.Addresses.IPv6)
}
if assert.NotNil(t, rs.Created) {
@@ -93,7 +92,13 @@ func TestFirewallRuleSets_Get(t *testing.T) {
"type": "outbound",
"rules": []map[string]any{
{
- "ruleset": 77,
+ "action": "ACCEPT",
+ "addresses": map[string]any{
+ "ipv4": []string{"0.0.0.0/0"},
+ },
+ "label": "egress",
+ "ports": "443",
+ "protocol": "TCP",
},
},
"version": 4,
@@ -110,9 +115,7 @@ func TestFirewallRuleSets_Get(t *testing.T) {
assert.Equal(t, ruleSetID, rs.ID)
assert.Equal(t, linodego.FirewallRuleSetTypeOutbound, rs.Type)
assert.True(t, rs.IsServiceDefined)
- if assert.Len(t, rs.Rules, 1) {
- assert.Equal(t, 77, rs.Rules[0].RuleSet)
- }
+ assert.Len(t, rs.Rules, 1)
if assert.NotNil(t, rs.Created) {
assert.Equal(t, time.Date(2024, time.February, 1, 1, 1, 1, 0, time.UTC), rs.Created.UTC())
}
@@ -124,15 +127,15 @@ func TestFirewallRuleSets_Get(t *testing.T) {
func TestFirewallRuleSets_Create(t *testing.T) {
client := createMockClient(t)
- req := linodego.RuleSetCreateOptions{
+ req := linodego.FirewallRuleSetCreateOptions{
Label: "allow-vpc",
Description: "Allow VPC ingress",
Type: linodego.FirewallRuleSetTypeInbound,
- Rules: []linodego.FirewallRule{
+ Rules: []linodego.FirewallRuleSetRuleCreateOptions{
{
Action: "ACCEPT",
Addresses: linodego.NetworkAddresses{
- IPv4: &[]string{"pl::vpcs:primary"},
+ IPv4: []string{"pl::vpcs:primary"},
},
Label: "ingress",
Protocol: linodego.NetworkProtocol("TCP"),
@@ -177,11 +180,11 @@ func TestFirewallRuleSets_Update(t *testing.T) {
ruleSetID := 404
label := "updated-egress"
description := "Updated description"
- rules := []linodego.FirewallRule{
+ rules := []linodego.FirewallRuleSetRuleUpdateOptions{
{
Action: "ACCEPT",
Addresses: linodego.NetworkAddresses{
- IPv6: &[]string{"pl::system:obj-storage"},
+ IPv6: []string{"pl::system:obj-storage"},
},
Label: "egress",
Protocol: linodego.NetworkProtocol("UDP"),
@@ -189,10 +192,10 @@ func TestFirewallRuleSets_Update(t *testing.T) {
},
}
- req := linodego.RuleSetUpdateOptions{
+ req := linodego.FirewallRuleSetUpdateOptions{
Label: &label,
Description: &description,
- Rules: &rules,
+ Rules: rules,
}
response := map[string]any{
@@ -236,7 +239,7 @@ func TestFirewallRuleSets_Delete(t *testing.T) {
}
func TestRuleSet_UnmarshalJSON(t *testing.T) {
- var rs linodego.RuleSet
+ var rs linodego.FirewallRuleSet
raw := []byte(`{
"id": 42,
@@ -244,7 +247,13 @@ func TestRuleSet_UnmarshalJSON(t *testing.T) {
"type": "inbound",
"description": "Combined rule set",
"rules": [
- {"ruleset": 12}
+ {
+ "action": "ACCEPT",
+ "label": "combined-rule",
+ "ports": "443",
+ "protocol": "TCP",
+ "addresses": {"ipv4": ["0.0.0.0/0"]}
+ }
],
"version": 2,
"is_service_defined": false,
@@ -264,13 +273,11 @@ func TestRuleSet_UnmarshalJSON(t *testing.T) {
if assert.NotNil(t, rs.Deleted) {
assert.Equal(t, time.Date(2023, time.May, 5, 5, 5, 5, 0, time.UTC), rs.Deleted.UTC())
}
- if assert.Len(t, rs.Rules, 1) {
- assert.Equal(t, 12, rs.Rules[0].RuleSet)
- }
+ assert.Len(t, rs.Rules, 1)
}
func TestRuleSet_UnmarshalJSONServiceDefined(t *testing.T) {
- var rs linodego.RuleSet
+ var rs linodego.FirewallRuleSet
raw := []byte(`{
"id": 99,
diff --git a/test/unit/firewalls_test.go b/test/unit/firewalls_test.go
index f2161d65e..cce91273a 100644
--- a/test/unit/firewalls_test.go
+++ b/test/unit/firewalls_test.go
@@ -7,8 +7,9 @@ import (
"time"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestFirewall_List(t *testing.T) {
@@ -32,6 +33,7 @@ func TestFirewall_List(t *testing.T) {
assert.Equal(t, linodego.FirewallStatus("enabled"), firewall.Status)
assert.Equal(t, "DROP", firewall.Rules.InboundPolicy)
+ assert.Equal(t, 1, firewall.Rules.Version)
assert.Len(t, firewall.Rules.Inbound, 1)
inboundRule := firewall.Rules.Inbound[0]
@@ -48,8 +50,8 @@ func TestFirewall_List(t *testing.T) {
assert.Equal(t, "ACCEPT", outboundRule.Action)
assert.Equal(t, linodego.NetworkProtocol("TCP"), outboundRule.Protocol)
assert.Equal(t, "22-24, 80, 443", outboundRule.Ports)
- assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, *outboundRule.Addresses.IPv4)
- assert.ElementsMatch(t, []string{"2001:DB8::/128"}, *outboundRule.Addresses.IPv6)
+ assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, outboundRule.Addresses.IPv4)
+ assert.ElementsMatch(t, []string{"2001:DB8::/128"}, outboundRule.Addresses.IPv6)
assert.ElementsMatch(t, []string{"example tag", "another example"}, firewall.Tags)
@@ -67,15 +69,15 @@ func TestFirewall_Create(t *testing.T) {
requestData := linodego.FirewallCreateOptions{
Label: "firewall123",
- Rules: linodego.FirewallRuleSet{
+ Rules: linodego.FirewallRulesCreateOptions{
InboundPolicy: "DROP",
OutboundPolicy: "DROP",
- Inbound: []linodego.FirewallRule{
+ Inbound: []linodego.FirewallRuleInbound{
{
Action: "ACCEPT",
Addresses: linodego.NetworkAddresses{
- IPv4: &[]string{"192.0.2.0/24", "198.51.100.2/32"},
- IPv6: &[]string{"2001:DB8::/128"},
+ IPv4: []string{"192.0.2.0/24", "198.51.100.2/32"},
+ IPv6: []string{"2001:DB8::/128"},
},
Description: "An example firewall rule description.",
Label: "firewallrule123",
@@ -83,12 +85,12 @@ func TestFirewall_Create(t *testing.T) {
Protocol: "TCP",
},
},
- Outbound: []linodego.FirewallRule{
+ Outbound: []linodego.FirewallRuleOutbound{
{
Action: "ACCEPT",
Addresses: linodego.NetworkAddresses{
- IPv4: &[]string{"192.0.2.0/24", "198.51.100.2/32"},
- IPv6: &[]string{"2001:DB8::/128"},
+ IPv4: []string{"192.0.2.0/24", "198.51.100.2/32"},
+ IPv6: []string{"2001:DB8::/128"},
},
Description: "An example firewall rule description.",
Label: "firewallrule123",
@@ -119,6 +121,7 @@ func TestFirewall_Create(t *testing.T) {
assert.NotNil(t, firewall.Rules)
assert.Equal(t, "DROP", firewall.Rules.InboundPolicy)
assert.Equal(t, "DROP", firewall.Rules.OutboundPolicy)
+ assert.Equal(t, 1, firewall.Rules.Version)
assert.Len(t, firewall.Rules.Inbound, 1)
inboundRule := firewall.Rules.Inbound[0]
@@ -127,8 +130,8 @@ func TestFirewall_Create(t *testing.T) {
assert.Equal(t, "An example firewall rule description.", inboundRule.Description)
assert.Equal(t, "22-24, 80, 443", inboundRule.Ports)
assert.Equal(t, linodego.NetworkProtocol("TCP"), inboundRule.Protocol)
- assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, *inboundRule.Addresses.IPv4)
- assert.ElementsMatch(t, []string{"2001:DB8::/128"}, *inboundRule.Addresses.IPv6)
+ assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, inboundRule.Addresses.IPv4)
+ assert.ElementsMatch(t, []string{"2001:DB8::/128"}, inboundRule.Addresses.IPv6)
assert.Len(t, firewall.Rules.Outbound, 1)
outboundRule := firewall.Rules.Outbound[0]
@@ -137,8 +140,8 @@ func TestFirewall_Create(t *testing.T) {
assert.Equal(t, "An example firewall rule description.", outboundRule.Description)
assert.Equal(t, "22-24, 80, 443", outboundRule.Ports)
assert.Equal(t, linodego.NetworkProtocol("TCP"), outboundRule.Protocol)
- assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, *outboundRule.Addresses.IPv4)
- assert.ElementsMatch(t, []string{"2001:DB8::/128"}, *outboundRule.Addresses.IPv6)
+ assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, outboundRule.Addresses.IPv4)
+ assert.ElementsMatch(t, []string{"2001:DB8::/128"}, outboundRule.Addresses.IPv6)
assert.Len(t, firewall.Entities, 1)
entity := firewall.Entities[0]
@@ -149,7 +152,8 @@ func TestFirewall_Create(t *testing.T) {
assert.NotNil(t, entity.ParentEntity)
assert.Equal(t, 92759172, entity.ParentEntity.ID)
assert.Equal(t, linodego.FirewallDeviceLinode, entity.ParentEntity.Type)
- assert.Equal(t, "test-01", entity.ParentEntity.Label)
+ require.NotNil(t, entity.ParentEntity.Label)
+ assert.Equal(t, "test-01", *entity.ParentEntity.Label)
assert.Equal(t, "/v4/linode/instances/92759172", entity.ParentEntity.URL)
assert.Nil(t, entity.ParentEntity.ParentEntity)
}
@@ -180,6 +184,7 @@ func TestFirewall_Get(t *testing.T) {
assert.NotNil(t, firewall.Rules)
assert.Equal(t, "DROP", firewall.Rules.InboundPolicy)
assert.Equal(t, "DROP", firewall.Rules.OutboundPolicy)
+ assert.Equal(t, 1, firewall.Rules.Version)
assert.Len(t, firewall.Rules.Inbound, 1)
inboundRule := firewall.Rules.Inbound[0]
@@ -188,8 +193,8 @@ func TestFirewall_Get(t *testing.T) {
assert.Equal(t, "An example firewall rule description.", inboundRule.Description)
assert.Equal(t, "22-24, 80, 443", inboundRule.Ports)
assert.Equal(t, linodego.NetworkProtocol("TCP"), inboundRule.Protocol)
- assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, *inboundRule.Addresses.IPv4)
- assert.ElementsMatch(t, []string{"2001:DB8::/128"}, *inboundRule.Addresses.IPv6)
+ assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, inboundRule.Addresses.IPv4)
+ assert.ElementsMatch(t, []string{"2001:DB8::/128"}, inboundRule.Addresses.IPv6)
assert.Len(t, firewall.Rules.Outbound, 1)
outboundRule := firewall.Rules.Outbound[0]
@@ -198,8 +203,8 @@ func TestFirewall_Get(t *testing.T) {
assert.Equal(t, "An example firewall rule description.", outboundRule.Description)
assert.Equal(t, "22-24, 80, 443", outboundRule.Ports)
assert.Equal(t, linodego.NetworkProtocol("TCP"), outboundRule.Protocol)
- assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, *outboundRule.Addresses.IPv4)
- assert.ElementsMatch(t, []string{"2001:DB8::/128"}, *outboundRule.Addresses.IPv6)
+ assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, outboundRule.Addresses.IPv4)
+ assert.ElementsMatch(t, []string{"2001:DB8::/128"}, outboundRule.Addresses.IPv6)
}
func TestFirewall_Update(t *testing.T) {
@@ -216,7 +221,7 @@ func TestFirewall_Update(t *testing.T) {
requestData := linodego.FirewallUpdateOptions{
Label: "firewall123",
Status: "enabled",
- Tags: &[]string{"updated tag", "another updated tag"},
+ Tags: []string{"updated tag", "another updated tag"},
}
firewall, err := base.Client.UpdateFirewall(context.Background(), firewallID, requestData)
@@ -234,6 +239,7 @@ func TestFirewall_Update(t *testing.T) {
assert.NotNil(t, firewall.Rules)
assert.Equal(t, "DROP", firewall.Rules.InboundPolicy)
assert.Equal(t, "DROP", firewall.Rules.OutboundPolicy)
+ assert.Equal(t, 1, firewall.Rules.Version)
assert.Len(t, firewall.Rules.Inbound, 1)
inboundRule := firewall.Rules.Inbound[0]
@@ -242,8 +248,8 @@ func TestFirewall_Update(t *testing.T) {
assert.Equal(t, "An example firewall rule description.", inboundRule.Description)
assert.Equal(t, "22-24, 80, 443", inboundRule.Ports)
assert.Equal(t, linodego.NetworkProtocol("TCP"), inboundRule.Protocol)
- assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, *inboundRule.Addresses.IPv4)
- assert.ElementsMatch(t, []string{"2001:DB8::/128"}, *inboundRule.Addresses.IPv6)
+ assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, inboundRule.Addresses.IPv4)
+ assert.ElementsMatch(t, []string{"2001:DB8::/128"}, inboundRule.Addresses.IPv6)
assert.Len(t, firewall.Rules.Outbound, 1)
outboundRule := firewall.Rules.Outbound[0]
@@ -252,8 +258,8 @@ func TestFirewall_Update(t *testing.T) {
assert.Equal(t, "An example firewall rule description.", outboundRule.Description)
assert.Equal(t, "22-24, 80, 443", outboundRule.Ports)
assert.Equal(t, linodego.NetworkProtocol("TCP"), outboundRule.Protocol)
- assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, *outboundRule.Addresses.IPv4)
- assert.ElementsMatch(t, []string{"2001:DB8::/128"}, *outboundRule.Addresses.IPv6)
+ assert.ElementsMatch(t, []string{"192.0.2.0/24", "198.51.100.2/32"}, outboundRule.Addresses.IPv4)
+ assert.ElementsMatch(t, []string{"2001:DB8::/128"}, outboundRule.Addresses.IPv6)
}
func TestFirewall_Delete(t *testing.T) {
diff --git a/test/unit/fixtures/instance_ip_reserved.json b/test/unit/fixtures/instance_ip_reserved.json
index a14521af4..12674727b 100644
--- a/test/unit/fixtures/instance_ip_reserved.json
+++ b/test/unit/fixtures/instance_ip_reserved.json
@@ -6,6 +6,12 @@
"type": "ipv4",
"public": false,
"linode_id": 123,
- "region": "us-central"
-}
-
\ No newline at end of file
+ "region": "us-central",
+ "reserved": true,
+ "assigned_entity": {
+ "id": 123,
+ "label": "my-linode",
+ "type": "linode",
+ "url": "/v4/linode/instances/123"
+ }
+}
\ No newline at end of file
diff --git a/test/unit/fixtures/lke_cluster_dashboard.json b/test/unit/fixtures/lke_cluster_dashboard.json
deleted file mode 100644
index 7a5ed5e42..000000000
--- a/test/unit/fixtures/lke_cluster_dashboard.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "url": "https://dashboard.example.com"
-}
-
\ No newline at end of file
diff --git a/test/unit/fixtures/lke_cluster_get.json b/test/unit/fixtures/lke_cluster_get.json
index 965ed4cea..162e6ce35 100644
--- a/test/unit/fixtures/lke_cluster_get.json
+++ b/test/unit/fixtures/lke_cluster_get.json
@@ -3,6 +3,7 @@
"label": "test-cluster",
"region": "us-east",
"status": "ready",
+ "locks": ["cannot_delete"],
"subnet_id": 123,
"vpc_id": 456,
"stack_type": "ipv4",
diff --git a/test/unit/fixtures/lke_cluster_list.json b/test/unit/fixtures/lke_cluster_list.json
index ccce5dc00..b616525e8 100644
--- a/test/unit/fixtures/lke_cluster_list.json
+++ b/test/unit/fixtures/lke_cluster_list.json
@@ -5,6 +5,7 @@
"label": "test-cluster",
"region": "us-east",
"status": "ready",
+ "locks": ["cannot_delete"],
"subnet_id": 123,
"vpc_id": 456,
"stack_type": "ipv4",
@@ -16,7 +17,8 @@
"id": 124,
"label": "second-cluster",
"region": "us-west",
- "status": "not_ready"
+ "status": "not_ready",
+ "locks": []
}
],
"pages": 1,
diff --git a/test/unit/fixtures/lke_cluster_pool_create.json b/test/unit/fixtures/lke_cluster_pool_create.json
deleted file mode 100644
index 7f2f34602..000000000
--- a/test/unit/fixtures/lke_cluster_pool_create.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "id": 3,
- "type": "g6-standard-2",
- "count": 3
-}
-
\ No newline at end of file
diff --git a/test/unit/fixtures/lke_cluster_pool_get.json b/test/unit/fixtures/lke_cluster_pool_get.json
deleted file mode 100644
index 55c6ead91..000000000
--- a/test/unit/fixtures/lke_cluster_pool_get.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "id": 1,
- "type": "pool-1",
- "count": 3,
- "autoscaler": {"enabled": true, "min": 1, "max": 5}
-}
-
\ No newline at end of file
diff --git a/test/unit/fixtures/lke_cluster_pool_list.json b/test/unit/fixtures/lke_cluster_pool_list.json
deleted file mode 100644
index c70ee4b6e..000000000
--- a/test/unit/fixtures/lke_cluster_pool_list.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "data": [
- {
- "id": 1,
- "type": "pool-1",
- "count": 3,
- "autoscaler": {"enabled": true, "min": 1, "max": 5}
- },
- {
- "id": 2,
- "type": "pool-2",
- "count": 2,
- "autoscaler": {"enabled": false}
- }
- ],
- "pages": 1,
- "results": 2
-}
-
\ No newline at end of file
diff --git a/test/unit/fixtures/lke_cluster_pool_update.json b/test/unit/fixtures/lke_cluster_pool_update.json
deleted file mode 100644
index 235943ef0..000000000
--- a/test/unit/fixtures/lke_cluster_pool_update.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "id": 1,
- "type": "pool-1",
- "count": 5
-}
-
\ No newline at end of file
diff --git a/test/unit/fixtures/lke_node_pool_create.json b/test/unit/fixtures/lke_node_pool_create.json
index d710efd41..9218fbb82 100644
--- a/test/unit/fixtures/lke_node_pool_create.json
+++ b/test/unit/fixtures/lke_node_pool_create.json
@@ -16,5 +16,9 @@
"min": 1,
"max": 5
},
- "label": "custom-label-create"
+ "label": "custom-label-create",
+ "isolation": {
+ "public_ipv4": true,
+ "public_ipv6": false
+ }
}
diff --git a/test/unit/fixtures/lke_node_pool_get.json b/test/unit/fixtures/lke_node_pool_get.json
index fca17440e..f07dc8458 100644
--- a/test/unit/fixtures/lke_node_pool_get.json
+++ b/test/unit/fixtures/lke_node_pool_get.json
@@ -2,12 +2,17 @@
"id": 456,
"count": 3,
"type": "g6-standard-2",
+ "locks": ["cannot_delete"],
"tags": ["tag1", "tag2"],
"labels": {"env": "staging"},
"autoscaler": {
"enabled": true,
"min": 1,
"max": 5
+ },
+ "isolation": {
+ "public_ipv4": true,
+ "public_ipv6": false
}
}
\ No newline at end of file
diff --git a/test/unit/fixtures/lke_node_pool_list.json b/test/unit/fixtures/lke_node_pool_list.json
index 5bb78aada..00f3bbc1f 100644
--- a/test/unit/fixtures/lke_node_pool_list.json
+++ b/test/unit/fixtures/lke_node_pool_list.json
@@ -4,6 +4,7 @@
"id": 456,
"count": 3,
"type": "g6-standard-2",
+ "locks": ["cannot_delete"],
"tags": ["tag1"],
"labels": {"env": "staging"},
"autoscaler": {"enabled": true, "min": 1, "max": 5}
@@ -12,6 +13,7 @@
"id": 789,
"count": 2,
"type": "g6-standard-4",
+ "locks": [],
"tags": ["tag2"],
"labels": {"env": "prod"},
"autoscaler": {"enabled": false, "min": 0, "max": 0}
diff --git a/test/unit/fixtures/lke_node_pool_update.json b/test/unit/fixtures/lke_node_pool_update.json
index 610e00d29..f6e86ce59 100644
--- a/test/unit/fixtures/lke_node_pool_update.json
+++ b/test/unit/fixtures/lke_node_pool_update.json
@@ -9,5 +9,9 @@
"min": 2,
"max": 8
},
- "label": "custom-label-update"
+ "label": "custom-label-update",
+ "isolation": {
+ "public_ipv4": false,
+ "public_ipv6": true
+ }
}
diff --git a/test/unit/fixtures/monitor_dashboard_by_id.json b/test/unit/fixtures/monitor_dashboard_by_id.json
index 2817b09b2..660127740 100644
--- a/test/unit/fixtures/monitor_dashboard_by_id.json
+++ b/test/unit/fixtures/monitor_dashboard_by_id.json
@@ -3,6 +3,7 @@
"type": "standard",
"service_type": "dbaas",
"label": "Resource Usage",
+ "group_by": ["entity_id"],
"created": "2024-11-05T01:13:34",
"updated": "2024-11-05T01:13:34",
"widgets": [
@@ -14,8 +15,7 @@
"size": 12,
"chart_type": "area",
"y_label": "cpu_usage",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "memory_usage",
@@ -25,8 +25,7 @@
"size": 6,
"chart_type": "area",
"y_label": "memory_usage",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "available_memory",
@@ -36,8 +35,7 @@
"size": 6,
"chart_type": "area",
"y_label": "available_memory",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "disk_usage",
@@ -47,8 +45,7 @@
"size": 6,
"chart_type": "area",
"y_label": "disk_usage",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "available_disk",
@@ -58,8 +55,7 @@
"size": 6,
"chart_type": "area",
"y_label": "available_disk",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "read_iops",
@@ -69,8 +65,7 @@
"size": 6,
"chart_type": "area",
"y_label": "read_iops",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "write_iops",
@@ -80,8 +75,7 @@
"size": 6,
"chart_type": "area",
"y_label": "write_iops",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
}
]
}
diff --git a/test/unit/fixtures/monitor_dashboard_by_service_type.json b/test/unit/fixtures/monitor_dashboard_by_service_type.json
index 477b5705a..47777c5da 100644
--- a/test/unit/fixtures/monitor_dashboard_by_service_type.json
+++ b/test/unit/fixtures/monitor_dashboard_by_service_type.json
@@ -5,6 +5,7 @@
"type": "standard",
"service_type": "dbaas",
"label": "Resource Usage",
+ "group_by": ["entity_id"],
"created": "2024-11-05T01:13:34",
"updated": "2024-11-05T01:13:34",
"widgets": [
@@ -16,8 +17,7 @@
"size": 12,
"chart_type": "area",
"y_label": "cpu_usage",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "memory_usage",
@@ -27,8 +27,7 @@
"size": 6,
"chart_type": "area",
"y_label": "memory_usage",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "available_memory",
@@ -38,8 +37,7 @@
"size": 6,
"chart_type": "area",
"y_label": "available_memory",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "disk_usage",
@@ -49,8 +47,7 @@
"size": 6,
"chart_type": "area",
"y_label": "disk_usage",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "available_disk",
@@ -60,8 +57,7 @@
"size": 6,
"chart_type": "area",
"y_label": "available_disk",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "read_iops",
@@ -71,8 +67,7 @@
"size": 6,
"chart_type": "area",
"y_label": "read_iops",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "write_iops",
@@ -82,8 +77,7 @@
"size": 6,
"chart_type": "area",
"y_label": "write_iops",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
}
]
}
diff --git a/test/unit/fixtures/monitor_dashboards.json b/test/unit/fixtures/monitor_dashboards.json
index 357a3cff7..47777c5da 100644
--- a/test/unit/fixtures/monitor_dashboards.json
+++ b/test/unit/fixtures/monitor_dashboards.json
@@ -5,6 +5,7 @@
"type": "standard",
"service_type": "dbaas",
"label": "Resource Usage",
+ "group_by": ["entity_id"],
"created": "2024-11-05T01:13:34",
"updated": "2024-11-05T01:13:34",
"widgets": [
@@ -16,8 +17,7 @@
"size": 12,
"chart_type": "area",
"y_label": "cpu_usage",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "memory_usage",
@@ -27,8 +27,7 @@
"size": 6,
"chart_type": "area",
"y_label": "memory_usage",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "available_memory",
@@ -38,8 +37,7 @@
"size": 6,
"chart_type": "area",
"y_label": "available_memory",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "disk_usage",
@@ -49,8 +47,7 @@
"size": 6,
"chart_type": "area",
"y_label": "disk_usage",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "available_disk",
@@ -60,8 +57,7 @@
"size": 6,
"chart_type": "area",
"y_label": "available_disk",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "read_iops",
@@ -71,8 +67,7 @@
"size": 6,
"chart_type": "area",
"y_label": "read_iops",
- "aggregate_function": "sum",
- "group_by": ["entity_id"]
+ "aggregate_function": "avg"
},
{
"metric": "write_iops",
@@ -82,15 +77,7 @@
"size": 6,
"chart_type": "area",
"y_label": "write_iops",
- "aggregate_function": "sum",
- "group_by": ["entity_id"],
- "filters": [
- {
- "dimension_label": "pattern",
- "operator": "in",
- "value": "publicout,privateout"
- }
- ]
+ "aggregate_function": "avg"
}
]
}
diff --git a/test/unit/fixtures/monitor_log_destinations_custom_https_get.json b/test/unit/fixtures/monitor_log_destinations_custom_https_get.json
new file mode 100644
index 000000000..8709f6260
--- /dev/null
+++ b/test/unit/fixtures/monitor_log_destinations_custom_https_get.json
@@ -0,0 +1,31 @@
+{
+ "created": "2025-07-20T09:45:13",
+ "created_by": "user",
+ "details": {
+ "endpoint_url": "https://my-site.com/log-storage/database-info",
+ "authentication": {
+ "type": "basic",
+ "details": {
+ "basic_authentication_user": "John_Q",
+ "basic_authentication_password": "p@$$w0Rd"
+ }
+ },
+ "client_certificate_details": null,
+ "content_type": "application/json",
+ "custom_headers": [
+ {
+ "name": "Cache-Control",
+ "value": "max-age=0"
+ }
+ ],
+ "data_compression": "gzip"
+ },
+ "id": 67890,
+ "label": "HTTPS_logs_destination",
+ "status": "active",
+ "type": "custom_https",
+ "updated": "2025-07-21T12:41:09",
+ "updated_by": "user",
+ "version": 1
+}
+
diff --git a/test/unit/fixtures/monitor_log_destinations_get.json b/test/unit/fixtures/monitor_log_destinations_get.json
new file mode 100644
index 000000000..ef19580f2
--- /dev/null
+++ b/test/unit/fixtures/monitor_log_destinations_get.json
@@ -0,0 +1,17 @@
+{
+ "created": "2025-07-20T09:45:13",
+ "created_by": "user",
+ "details": {
+ "access_key_id": "1ABCD23EFG4HIJKLMNO5",
+ "bucket_name": "primary-bucket",
+ "host": "primary-bucket-1.us-iad-12.linodeobjects.com",
+ "path": "audit-logs"
+ },
+ "id": 12345,
+ "label": "OBJ_logs_destination",
+ "status": "active",
+ "type": "akamai_object_storage",
+ "updated": "2025-07-21T12:41:09",
+ "updated_by": "user",
+ "version": 1
+}
\ No newline at end of file
diff --git a/test/unit/fixtures/monitor_log_destinations_history_list.json b/test/unit/fixtures/monitor_log_destinations_history_list.json
new file mode 100644
index 000000000..c39f79f23
--- /dev/null
+++ b/test/unit/fixtures/monitor_log_destinations_history_list.json
@@ -0,0 +1,25 @@
+{
+ "data":[
+ {
+ "created": "2025-07-20T09:45:13",
+ "created_by": "user",
+ "details": {
+ "access_key_id": "123",
+ "bucket_name": "primary-bucket",
+ "host": "primary-bucket-1.us-iad-12.linodeobjects.com",
+ "path": "audit-logs"
+ },
+ "id": 12345,
+ "label": "OBJ_logs_destination",
+ "status": "active",
+ "type": "akamai_object_storage",
+ "updated": "2025-07-21T12:41:09",
+ "updated_by": "user",
+ "version": 1
+ }
+ ],
+ "page":1,
+ "pages":1,
+ "results":1
+}
+
diff --git a/test/unit/fixtures/monitor_log_destinations_list.json b/test/unit/fixtures/monitor_log_destinations_list.json
new file mode 100644
index 000000000..3b08695a3
--- /dev/null
+++ b/test/unit/fixtures/monitor_log_destinations_list.json
@@ -0,0 +1,53 @@
+{
+ "data":[
+ {
+ "created": "2025-07-20T09:45:13",
+ "created_by": "user",
+ "details": {
+ "access_key_id": "123",
+ "bucket_name": "primary-bucket",
+ "host": "primary-bucket-1.us-iad-12.linodeobjects.com",
+ "path": "audit-logs"
+ },
+ "id": 12345,
+ "label": "OBJ_logs_destination",
+ "status": "active",
+ "type": "akamai_object_storage",
+ "updated": "2025-07-21T12:41:09",
+ "updated_by": "user",
+ "version": 1
+ },
+ {
+ "created": "2025-08-01T10:00:00",
+ "created_by": "user",
+ "details": {
+ "endpoint_url": "https://my-site.com/log-storage/database-info",
+ "authentication": {
+ "type": "basic",
+ "details": {
+ "basic_authentication_user": "John_Q",
+ "basic_authentication_password": "p@$$w0Rd"
+ }
+ },
+ "content_type": "application/json",
+ "custom_headers": [
+ {
+ "name": "Cache-Control",
+ "value": "max-age=0"
+ }
+ ],
+ "data_compression": "gzip"
+ },
+ "id": 67890,
+ "label": "HTTPS_logs_destination",
+ "status": "active",
+ "type": "custom_https",
+ "updated": "2025-08-02T11:00:00",
+ "updated_by": "user",
+ "version": 1
+ }
+ ],
+ "page":1,
+ "pages":1,
+ "results":2
+}
\ No newline at end of file
diff --git a/test/unit/fixtures/monitor_log_stream.json b/test/unit/fixtures/monitor_log_stream.json
new file mode 100644
index 000000000..d82740373
--- /dev/null
+++ b/test/unit/fixtures/monitor_log_stream.json
@@ -0,0 +1,24 @@
+{
+ "created": "2025-03-20T01:41:09",
+ "created_by": "John Q. Linode",
+ "destinations": [
+ {
+ "details": {
+ "access_key_id": "123",
+ "bucket_name": "primary-bucket",
+ "host": "primary-bucket-1.us-iad-12.linodeobjects.com",
+ "path": "audit-logs"
+ },
+ "id": 12345,
+ "label": "OBJ_logs_destination",
+ "type": "akamai_object_storage"
+ }
+ ],
+ "id": 456,
+ "label": "AuditLog-config",
+ "status": "active",
+ "type": "audit_logs",
+ "updated": "2025-03-20T01:41:09",
+ "updated_by": "Jane Q. Linode",
+ "version": 1
+}
diff --git a/test/unit/fixtures/monitor_log_stream_lke.json b/test/unit/fixtures/monitor_log_stream_lke.json
new file mode 100644
index 000000000..b61780b98
--- /dev/null
+++ b/test/unit/fixtures/monitor_log_stream_lke.json
@@ -0,0 +1,28 @@
+{
+ "created": "2025-03-20T01:41:09",
+ "created_by": "John Q. Linode",
+ "destinations": [
+ {
+ "details": {
+ "access_key_id": "123",
+ "bucket_name": "primary-bucket",
+ "host": "primary-bucket-1.us-iad-12.linodeobjects.com",
+ "path": "audit-logs"
+ },
+ "id": 12345,
+ "label": "OBJ_logs_destination",
+ "type": "akamai_object_storage"
+ }
+ ],
+ "id": 789,
+ "label": "LKEAuditLog-config",
+ "status": "active",
+ "type": "lke_audit_logs",
+ "details": {
+ "cluster_ids": [1234, 5678],
+ "is_auto_add_all_clusters_enabled": false
+ },
+ "updated": "2025-03-20T01:41:09",
+ "updated_by": "Jane Q. Linode",
+ "version": 1
+}
diff --git a/test/unit/fixtures/monitor_log_streams_history.json b/test/unit/fixtures/monitor_log_streams_history.json
new file mode 100644
index 000000000..87daf25fa
--- /dev/null
+++ b/test/unit/fixtures/monitor_log_streams_history.json
@@ -0,0 +1,55 @@
+{
+ "data": [
+ {
+ "created": "2025-03-20T01:41:09",
+ "created_by": "John Q. Linode",
+ "destinations": [
+ {
+ "details": {
+ "access_key_id": "123",
+ "bucket_name": "primary-bucket",
+ "host": "primary-bucket-1.us-iad-12.linodeobjects.com",
+ "path": "audit-logs"
+ },
+ "id": 12345,
+ "label": "OBJ_logs_destination",
+ "type": "akamai_object_storage"
+ }
+ ],
+ "id": 456,
+ "label": "AuditLog-config",
+ "status": "active",
+ "type": "audit_logs",
+ "updated": "2025-03-20T01:41:09",
+ "updated_by": "Jane Q. Linode",
+ "version": 1
+ },
+ {
+ "created": "2025-03-20T01:41:09",
+ "created_by": "John Q. Linode",
+ "destinations": [
+ {
+ "details": {
+ "access_key_id": "123",
+ "bucket_name": "primary-bucket",
+ "host": "primary-bucket-1.us-iad-12.linodeobjects.com",
+ "path": "audit-logs-v2"
+ },
+ "id": 12345,
+ "label": "OBJ_logs_destination",
+ "type": "akamai_object_storage"
+ }
+ ],
+ "id": 456,
+ "label": "AuditLog-config-updated",
+ "status": "inactive",
+ "type": "audit_logs",
+ "updated": "2025-03-21T01:41:09",
+ "updated_by": "Jane Q. Linode",
+ "version": 2
+ }
+ ],
+ "page": 1,
+ "pages": 1,
+ "results": 2
+}
diff --git a/test/unit/fixtures/monitor_log_streams_list.json b/test/unit/fixtures/monitor_log_streams_list.json
new file mode 100644
index 000000000..0b8e709e5
--- /dev/null
+++ b/test/unit/fixtures/monitor_log_streams_list.json
@@ -0,0 +1,31 @@
+{
+ "data": [
+ {
+ "created": "2025-03-20T01:41:09",
+ "created_by": "John Q. Linode",
+ "destinations": [
+ {
+ "details": {
+ "access_key_id": "123",
+ "bucket_name": "primary-bucket",
+ "host": "primary-bucket-1.us-iad-12.linodeobjects.com",
+ "path": "audit-logs"
+ },
+ "id": 12345,
+ "label": "OBJ_logs_destination",
+ "type": "akamai_object_storage"
+ }
+ ],
+ "id": 456,
+ "label": "AuditLog-config",
+ "status": "active",
+ "type": "audit_logs",
+ "updated": "2025-03-20T01:41:09",
+ "updated_by": "Jane Q. Linode",
+ "version": 1
+ }
+ ],
+ "page": 1,
+ "pages": 1,
+ "results": 1
+}
diff --git a/test/unit/fixtures/network_reserved_ip_types_list.json b/test/unit/fixtures/network_reserved_ip_types_list.json
new file mode 100644
index 000000000..5c7828c1f
--- /dev/null
+++ b/test/unit/fixtures/network_reserved_ip_types_list.json
@@ -0,0 +1,22 @@
+{
+ "data": [
+ {
+ "id": "ipv4_address",
+ "label": "IPv4 Address",
+ "price": {
+ "hourly": 0.005,
+ "monthly": 2.00
+ },
+ "region_prices": [
+ {
+ "id": "us-east",
+ "hourly": 0.006,
+ "monthly": 3.00
+ }
+ ]
+ }
+ ],
+ "page": 1,
+ "pages": 1,
+ "results": 1
+}
diff --git a/test/unit/fixtures/network_reserved_ip_update.json b/test/unit/fixtures/network_reserved_ip_update.json
new file mode 100644
index 000000000..e8dc4c794
--- /dev/null
+++ b/test/unit/fixtures/network_reserved_ip_update.json
@@ -0,0 +1,8 @@
+{
+ "address": "192.168.1.10",
+ "region": "us-east",
+ "linode_id": 12345,
+ "reserved": true,
+ "tags": ["lb", "team:infra"],
+ "assigned_entity": null
+}
diff --git a/test/unit/fixtures/network_reserved_ips.json b/test/unit/fixtures/network_reserved_ips.json
index 7f111de9f..4279c23be 100644
--- a/test/unit/fixtures/network_reserved_ips.json
+++ b/test/unit/fixtures/network_reserved_ips.json
@@ -4,6 +4,8 @@
"linode_id": 13579,
"label": "test-ip-3",
"created": "2025-02-03T12:00:00",
- "status": "reserved"
+ "status": "reserved",
+ "reserved": true,
+ "tags": ["env:staging"]
}
\ No newline at end of file
diff --git a/test/unit/fixtures/network_reserved_ips_get.json b/test/unit/fixtures/network_reserved_ips_get.json
index 7bfb54e56..ae18648dc 100644
--- a/test/unit/fixtures/network_reserved_ips_get.json
+++ b/test/unit/fixtures/network_reserved_ips_get.json
@@ -2,8 +2,12 @@
"address": "192.168.1.10",
"region": "us-east",
"linode_id": 12345,
- "label": "test-ip-1",
- "created": "2025-02-03T12:00:00",
- "status": "reserved"
-}
-
\ No newline at end of file
+ "reserved": true,
+ "tags": ["lb"],
+ "assigned_entity": {
+ "id": 1234,
+ "label": "my-linode",
+ "type": "linode",
+ "url": "/v4/linode/instances/12345"
+ }
+}
\ No newline at end of file
diff --git a/test/unit/fixtures/network_reserved_ips_list.json b/test/unit/fixtures/network_reserved_ips_list.json
index 79112fe65..74cac62ab 100644
--- a/test/unit/fixtures/network_reserved_ips_list.json
+++ b/test/unit/fixtures/network_reserved_ips_list.json
@@ -6,7 +6,9 @@
"linode_id": 12345,
"label": "test-ip-1",
"created": "2025-02-03T12:00:00",
- "status": "reserved"
+ "status": "reserved",
+ "reserved": true,
+ "tags": ["lb"]
},
{
"address": "192.168.1.20",
@@ -14,7 +16,9 @@
"linode_id": 67890,
"label": "test-ip-2",
"created": "2025-02-03T12:00:00",
- "status": "reserved"
+ "status": "reserved",
+ "reserved": true,
+ "tags": []
}
],
"pages": 1,
diff --git a/test/unit/fixtures/object_storage_cluster_get.json b/test/unit/fixtures/object_storage_cluster_get.json
deleted file mode 100644
index 3f932e613..000000000
--- a/test/unit/fixtures/object_storage_cluster_get.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "id": "my-cluster-id",
- "domain": "example.com",
- "status": "active",
- "region": "us-east-1",
- "static_site_domain": "static.example.com"
-}
diff --git a/test/unit/fixtures/object_storage_cluster_list.json b/test/unit/fixtures/object_storage_cluster_list.json
deleted file mode 100644
index 714737876..000000000
--- a/test/unit/fixtures/object_storage_cluster_list.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "data": [
- {
- "id": "my-cluster-id",
- "domain": "example.com",
- "status": "active",
- "region": "us-east-1",
- "static_site_domain": "static.example.com"
- }
- ],
- "page": 1,
- "pages": 1,
- "results": 1
-}
-
\ No newline at end of file
diff --git a/test/unit/fixtures/tagged_objects_reserved_ip_list.json b/test/unit/fixtures/tagged_objects_reserved_ip_list.json
new file mode 100644
index 000000000..841f2f5cc
--- /dev/null
+++ b/test/unit/fixtures/tagged_objects_reserved_ip_list.json
@@ -0,0 +1,25 @@
+{
+ "data": [
+ {
+ "type": "reserved_ipv4_address",
+ "data": {
+ "address": "192.168.1.10",
+ "gateway": "192.0.2.1",
+ "interface_id": null,
+ "linode_id": 0,
+ "prefix": 24,
+ "public": true,
+ "rdns": "",
+ "region": "us-east",
+ "subnet_mask": "255.255.255.0",
+ "type": "ipv4",
+ "vpc_nat_1_1": null,
+ "reserved": true,
+ "tags": ["lb"]
+ }
+ }
+ ],
+ "page": 1,
+ "pages": 1,
+ "results": 1
+}
diff --git a/test/unit/fixtures/volume_get.json b/test/unit/fixtures/volume_get.json
index 22b539875..ae39a4f48 100644
--- a/test/unit/fixtures/volume_get.json
+++ b/test/unit/fixtures/volume_get.json
@@ -7,6 +7,7 @@
"linode_id": null,
"filesystem_path": "",
"tags": ["test"],
+ "locks": ["cannot_delete_with_subresources"],
"hardware_type": "",
"linode_label": "",
"encryption": "",
diff --git a/test/unit/fixtures/volumes_list.json b/test/unit/fixtures/volumes_list.json
index d60f8949a..256113776 100644
--- a/test/unit/fixtures/volumes_list.json
+++ b/test/unit/fixtures/volumes_list.json
@@ -9,6 +9,7 @@
"linode_id": null,
"filesystem_path": "",
"tags": ["test"],
+ "locks": ["cannot_delete"],
"hardware_type": "",
"linode_label": "",
"encryption": "",
diff --git a/test/unit/image_sharegroups_consumer_test.go b/test/unit/image_sharegroups_consumer_test.go
index 6f275e47e..5ed385884 100644
--- a/test/unit/image_sharegroups_consumer_test.go
+++ b/test/unit/image_sharegroups_consumer_test.go
@@ -7,7 +7,7 @@ import (
"time"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/image_sharegroups_producer_test.go b/test/unit/image_sharegroups_producer_test.go
index 3b05fcf93..b980b4f6b 100644
--- a/test/unit/image_sharegroups_producer_test.go
+++ b/test/unit/image_sharegroups_producer_test.go
@@ -7,7 +7,7 @@ import (
"time"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/images_test.go b/test/unit/images_test.go
index dc9aa9ba7..74f899fdf 100644
--- a/test/unit/images_test.go
+++ b/test/unit/images_test.go
@@ -8,7 +8,7 @@ import (
"time"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -178,7 +178,7 @@ func TestImage_Create(t *testing.T) {
Label: "Debian 11",
Description: "Example image description.",
CloudInit: true,
- Tags: &[]string{"repair-image", "fix-1"},
+ Tags: []string{"repair-image", "fix-1"},
}
base.MockPost("images", fixtureData)
@@ -220,7 +220,7 @@ func TestImage_Update(t *testing.T) {
requestData := linodego.ImageUpdateOptions{
Label: "Debian 11",
Description: &desc,
- Tags: &[]string{"repair-image", "fix-1"},
+ Tags: []string{"repair-image", "fix-1"},
}
imageID := "123"
@@ -265,12 +265,20 @@ func TestImage_Upload(t *testing.T) {
Label: "Debian 11",
Description: "Example image description.",
CloudInit: true,
- Tags: &[]string{"repair-image", "fix-1"},
+ Tags: []string{"repair-image", "fix-1"},
Image: strings.NewReader("mock image data"),
}
base.MockPost("images/upload", fixtureData)
+ // Mock the PUT request to the upload URL returned in the fixture.
+ // UploadImageToURL uses http.DefaultTransport, so we need to
+ // activate httpmock on the default transport as well.
+ httpmock.Activate()
+ defer httpmock.DeactivateAndReset()
+ httpmock.RegisterResponder("PUT", "https://example.com/upload-endpoint",
+ httpmock.NewStringResponder(200, "{}"))
+
image, err := base.Client.UploadImage(context.Background(), requestData)
assert.NoError(t, err)
diff --git a/test/unit/instance_backup_test.go b/test/unit/instance_backup_test.go
index 827d3c3c9..a2b21d3e8 100644
--- a/test/unit/instance_backup_test.go
+++ b/test/unit/instance_backup_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -37,7 +37,9 @@ func TestInstanceSnapshot_Create(t *testing.T) {
base.MockPost("linode/instances/123/backups", fixtureData)
- snapshot, err := base.Client.CreateInstanceSnapshot(context.Background(), 123, "new-snapshot")
+ opts := linodego.InstanceSnapshotCreateOptions{Label: "new-snapshot"}
+
+ snapshot, err := base.Client.CreateInstanceSnapshot(context.Background(), 123, opts)
assert.NoError(t, err)
assert.Equal(t, "new-snapshot", snapshot.Label)
assert.Equal(t, linodego.SnapshotPending, snapshot.Status)
diff --git a/test/unit/instance_config_interfaces_test.go b/test/unit/instance_config_interfaces_test.go
index c78f4e9a8..ea40eea10 100644
--- a/test/unit/instance_config_interfaces_test.go
+++ b/test/unit/instance_config_interfaces_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -75,7 +75,7 @@ func TestInstanceConfigInterface_Create(t *testing.T) {
Purpose: linodego.InterfacePurposeVPC,
Primary: true,
SubnetID: &subnetID,
- IPv4: &linodego.VPCIPv4{
+ IPv4: &linodego.VPCIPv4CreateOptions{
NAT1To1: &nat1to1,
},
IPRanges: []string{"192.168.1.0/24"},
@@ -111,10 +111,10 @@ func TestInstanceConfigInterface_Update(t *testing.T) {
updateOptions := linodego.InstanceConfigInterfaceUpdateOptions{
Primary: true,
- IPv4: &linodego.VPCIPv4{
+ IPv4: &linodego.VPCIPv4UpdateOptions{
NAT1To1: &nat1to1,
},
- IPRanges: &ipRanges,
+ IPRanges: ipRanges,
}
base.MockPut("linode/instances/123/configs/456/interfaces/1", fixtureData)
diff --git a/test/unit/instance_config_test.go b/test/unit/instance_config_test.go
index e199d3284..324ff721f 100644
--- a/test/unit/instance_config_test.go
+++ b/test/unit/instance_config_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/instance_disks_test.go b/test/unit/instance_disks_test.go
index 01a9f3d19..737889132 100644
--- a/test/unit/instance_disks_test.go
+++ b/test/unit/instance_disks_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -19,9 +19,7 @@ func TestInstance_Disks_Clone(t *testing.T) {
base.MockPost("linode/instances/12345/disks/123/clone", fixtureData)
- opts := linodego.InstanceDiskCloneOptions{}
-
- disk, err := base.Client.CloneInstanceDisk(context.Background(), 12345, 123, opts)
+ disk, err := base.Client.CloneInstanceDisk(context.Background(), 12345, 123)
assert.NoError(t, err)
assert.Equal(t, linodego.DiskFilesystem("ext4"), disk.Filesystem)
@@ -151,7 +149,9 @@ func TestInstanceDisk_Resize(t *testing.T) {
base.MockPost("linode/instances/123/disks/1/resize", nil)
- err := base.Client.ResizeInstanceDisk(context.Background(), 123, 1, 40960)
+ opts := linodego.InstanceDiskResizeOptions{Size: 40960}
+
+ err := base.Client.ResizeInstanceDisk(context.Background(), 123, 1, opts)
assert.NoError(t, err)
}
@@ -162,6 +162,8 @@ func TestInstanceDisk_PasswordReset(t *testing.T) {
base.MockPost("linode/instances/123/disks/1/password", nil)
- err := base.Client.PasswordResetInstanceDisk(context.Background(), 123, 1, "new-password")
+ opts := linodego.InstanceDiskPasswordResetOptions{Password: "new-password"}
+
+ err := base.Client.PasswordResetInstanceDisk(context.Background(), 123, 1, opts)
assert.NoError(t, err)
}
diff --git a/test/unit/instance_firewall_test.go b/test/unit/instance_firewall_test.go
index f558d883a..40e1ca10e 100644
--- a/test/unit/instance_firewall_test.go
+++ b/test/unit/instance_firewall_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/instance_ip_test.go b/test/unit/instance_ip_test.go
index 27b046035..60838a87e 100644
--- a/test/unit/instance_ip_test.go
+++ b/test/unit/instance_ip_test.go
@@ -4,7 +4,8 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/jarcoal/httpmock"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -66,7 +67,9 @@ func TestInstanceIPAddress_Add(t *testing.T) {
base.MockPost("linode/instances/123/ips", fixtureData)
- ip, err := base.Client.AddInstanceIPAddress(context.Background(), 123, true)
+ opts := linodego.InstanceIPAddOptions{Public: true}
+
+ ip, err := base.Client.AddInstanceIPAddress(context.Background(), 123, opts)
assert.NoError(t, err)
assert.NotNil(t, ip)
assert.Equal(t, "198.51.100.1", ip.Address)
@@ -82,8 +85,8 @@ func TestInstanceIPAddress_Update(t *testing.T) {
defer base.TearDown(t)
rdns := "custom.reverse.dns"
- updateOpts := linodego.IPAddressUpdateOptions{
- RDNS: &rdns,
+ updateOpts := linodego.InstanceIPAddressUpdateOptions{
+ RDNS: linodego.DoublePointer(rdns),
}
base.MockPut("linode/instances/123/ips/192.0.2.1", fixtureData)
@@ -126,4 +129,29 @@ func TestInstanceReservedIP_Assign(t *testing.T) {
assert.NotNil(t, ip)
assert.Equal(t, "203.0.113.1", ip.Address)
assert.False(t, ip.Public)
+ assert.True(t, ip.Reserved)
+
+ // AssignedEntity assertions
+ assert.NotNil(t, ip.AssignedEntity)
+ assert.Equal(t, 123, ip.AssignedEntity.ID)
+ assert.Equal(t, "my-linode", ip.AssignedEntity.Label)
+ assert.Equal(t, "linode", ip.AssignedEntity.Type)
+ assert.Equal(t, "/v4/linode/instances/123", ip.AssignedEntity.URL)
+}
+
+func TestInstanceReservedIP_Assign_RequestBody(t *testing.T) {
+ client := createMockClient(t)
+
+ opts := linodego.InstanceReserveIPOptions{
+ Type: "ipv4",
+ Public: false,
+ Address: "203.0.113.1",
+ }
+
+ httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "/linode/instances/123/ips"),
+ mockRequestBodyValidate(t, opts, nil))
+
+ if _, err := client.AssignInstanceReservedIP(context.Background(), 123, opts); err != nil {
+ t.Fatal(err)
+ }
}
diff --git a/test/unit/instance_test.go b/test/unit/instance_test.go
index 26eebc2e5..d4968fb3d 100644
--- a/test/unit/instance_test.go
+++ b/test/unit/instance_test.go
@@ -3,11 +3,10 @@ package unit
import (
"context"
"fmt"
- "strconv"
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -114,9 +113,6 @@ func TestInstance_ResetPassword(t *testing.T) {
}
func TestInstance_Get_MonthlyTransfer(t *testing.T) {
- if strconv.IntSize < 64 {
- t.Skip("V1 monthly transfer doesn't work on 32 or lower bits system")
- }
fixtureData, err := fixtures.GetFixture("instance_monthly_transfer_get")
assert.NoError(t, err)
@@ -129,24 +125,6 @@ func TestInstance_Get_MonthlyTransfer(t *testing.T) {
stats, err := base.Client.GetInstanceTransferMonthly(context.Background(), 12345, 2024, 11)
assert.NoError(t, err)
- assert.Equal(t, 30471077120, stats.BytesIn)
- assert.Equal(t, 22956600198, stats.BytesOut)
- assert.Equal(t, 53427677318, stats.BytesTotal)
-}
-
-func TestInstance_Get_MonthlyTransferV2(t *testing.T) {
- fixtureData, err := fixtures.GetFixture("instance_monthly_transfer_get")
- assert.NoError(t, err)
-
- var base ClientBaseCase
- base.SetUp(t)
- defer base.TearDown(t)
-
- base.MockGet("linode/instances/12345/transfer/2024/11", fixtureData)
-
- stats, err := base.Client.GetInstanceTransferMonthlyV2(context.Background(), 12345, 2024, 11)
- assert.NoError(t, err)
-
assert.Equal(t, uint64(30471077120), stats.BytesIn)
assert.Equal(t, uint64(22956600198), stats.BytesOut)
assert.Equal(t, uint64(53427677318), stats.BytesTotal)
@@ -235,7 +213,9 @@ func TestInstance_Boot(t *testing.T) {
base.MockPost("linode/instances/123/boot", nil)
- err := base.Client.BootInstance(context.Background(), 123, 0)
+ opts := linodego.InstanceBootOptions{ConfigID: linodego.Pointer(0)}
+
+ err := base.Client.BootInstance(context.Background(), 123, opts)
assert.NoError(t, err)
}
@@ -246,7 +226,9 @@ func TestInstance_Reboot(t *testing.T) {
base.MockPost("linode/instances/123/reboot", nil)
- err := base.Client.RebootInstance(context.Background(), 123, 0)
+ opts := linodego.InstanceRebootOptions{ConfigID: linodego.Pointer(0)}
+
+ err := base.Client.RebootInstance(context.Background(), 123, opts)
assert.NoError(t, err)
}
@@ -323,3 +305,20 @@ func TestInstance_Rebuild(t *testing.T) {
assert.NoError(t, err)
assert.Equal(t, "linode/ubuntu22.04", instance.Image)
}
+
+func TestCreateInstance_IPv4ReservedIPs(t *testing.T) {
+ client := createMockClient(t)
+
+ createOpts := linodego.InstanceCreateOptions{
+ Region: "us-east",
+ Type: "g6-standard-1",
+ IPv4: []string{"192.0.2.1"},
+ }
+
+ httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "/linode/instances"),
+ mockRequestBodyValidate(t, createOpts, nil))
+
+ if _, err := client.CreateInstance(context.Background(), createOpts); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/test/unit/instance_volume_test.go b/test/unit/instance_volume_test.go
index ded1963fe..e2917a309 100644
--- a/test/unit/instance_volume_test.go
+++ b/test/unit/instance_volume_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/interface_test.go b/test/unit/interface_test.go
index c8a6b308f..420a52070 100644
--- a/test/unit/interface_test.go
+++ b/test/unit/interface_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -165,7 +165,7 @@ func TestInterface_CreatePublic(t *testing.T) {
opts := linodego.LinodeInterfaceCreateOptions{
Public: &linodego.PublicInterfaceCreateOptions{
IPv4: &linodego.PublicInterfaceIPv4CreateOptions{
- Addresses: &[]linodego.PublicInterfaceIPv4AddressCreateOptions{
+ Addresses: []linodego.PublicInterfaceIPv4AddressCreateOptions{
{
Address: linodego.Pointer("auto"),
Primary: linodego.Pointer(true),
@@ -198,7 +198,7 @@ func TestInterface_UpdateVLAN(t *testing.T) {
base.MockPut("linode/instances/123/interfaces/123", fixtureData)
opts := linodego.LinodeInterfaceUpdateOptions{
- DefaultRoute: &linodego.InterfaceDefaultRoute{
+ DefaultRoute: &linodego.InterfaceDefaultRouteUpdateOptions{
IPv6: linodego.Pointer(true),
},
}
@@ -228,19 +228,19 @@ func TestInterface_UpdateVPC(t *testing.T) {
base.MockPut("linode/instances/123/interfaces/456", fixtureData)
opts := linodego.LinodeInterfaceUpdateOptions{
- DefaultRoute: &linodego.InterfaceDefaultRoute{
+ DefaultRoute: &linodego.InterfaceDefaultRouteUpdateOptions{
IPv4: linodego.Pointer(true),
IPv6: linodego.Pointer(true),
},
VPC: &linodego.VPCInterfaceUpdateOptions{
IPv4: &linodego.VPCInterfaceIPv4CreateOptions{
- Addresses: &[]linodego.VPCInterfaceIPv4AddressCreateOptions{
+ Addresses: []linodego.VPCInterfaceIPv4AddressCreateOptions{
{
Address: linodego.Pointer("192.168.23.4"),
Primary: linodego.Pointer(true),
},
},
- Ranges: &[]linodego.VPCInterfaceIPv4RangeCreateOptions{
+ Ranges: []linodego.VPCInterfaceIPv4RangeCreateOptions{
{
Range: "192.168.23.16/28",
},
@@ -250,12 +250,12 @@ func TestInterface_UpdateVPC(t *testing.T) {
},
},
IPv6: &linodego.VPCInterfaceIPv6CreateOptions{
- SLAAC: &[]linodego.VPCInterfaceIPv6SLAACCreateOptions{
+ SLAAC: []linodego.VPCInterfaceIPv6SLAACCreateOptions{
{
Range: "1235::/64",
},
},
- Ranges: &[]linodego.VPCInterfaceIPv6RangeCreateOptions{
+ Ranges: []linodego.VPCInterfaceIPv6RangeCreateOptions{
{
Range: "4322::/64",
},
diff --git a/test/unit/lke_cluster_control_plane_acl_test.go b/test/unit/lke_cluster_control_plane_acl_test.go
index 06442ae29..e8cc65245 100644
--- a/test/unit/lke_cluster_control_plane_acl_test.go
+++ b/test/unit/lke_cluster_control_plane_acl_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -43,8 +43,8 @@ func TestLKEClusterControlPlaneACL_Update(t *testing.T) {
Enabled: BoolToPtr(true),
RevisionID: "rev-abc123",
Addresses: &linodego.LKEClusterControlPlaneACLAddressesOptions{
- IPv4: &[]string{"10.0.0.1/32"},
- IPv6: &[]string{"2001:db8::/64"},
+ IPv4: []string{"10.0.0.1/32"},
+ IPv6: []string{"2001:db8::/64"},
},
},
}
diff --git a/test/unit/lke_cluster_pool_test.go b/test/unit/lke_cluster_pool_test.go
deleted file mode 100644
index c89cb81de..000000000
--- a/test/unit/lke_cluster_pool_test.go
+++ /dev/null
@@ -1,105 +0,0 @@
-package unit
-
-import (
- "context"
- "testing"
-
- "github.com/linode/linodego"
- "github.com/stretchr/testify/assert"
-)
-
-func TestLKEClusterPool_List(t *testing.T) {
- fixtureData, err := fixtures.GetFixture("lke_cluster_pool_list")
- assert.NoError(t, err)
-
- var base ClientBaseCase
- base.SetUp(t)
- defer base.TearDown(t)
-
- base.MockGet("lke/clusters/123/pools", fixtureData)
-
- pools, err := base.Client.ListLKEClusterPools(context.Background(), 123, nil)
- assert.NoError(t, err)
- assert.Len(t, pools, 2)
-
- assert.Equal(t, 1, pools[0].ID)
- assert.Equal(t, "pool-1", pools[0].Type)
-}
-
-func TestLKEClusterPool_Get(t *testing.T) {
- fixtureData, err := fixtures.GetFixture("lke_cluster_pool_get")
- assert.NoError(t, err)
-
- var base ClientBaseCase
- base.SetUp(t)
- defer base.TearDown(t)
-
- base.MockGet("lke/clusters/123/pools/1", fixtureData)
-
- pool, err := base.Client.GetLKEClusterPool(context.Background(), 123, 1)
- assert.NoError(t, err)
- assert.Equal(t, 1, pool.ID)
- assert.Equal(t, "pool-1", pool.Type)
-}
-
-func TestLKEClusterPool_Create(t *testing.T) {
- fixtureData, err := fixtures.GetFixture("lke_cluster_pool_create")
- assert.NoError(t, err)
-
- var base ClientBaseCase
- base.SetUp(t)
- defer base.TearDown(t)
-
- createOptions := linodego.LKEClusterPoolCreateOptions{
- Type: "g6-standard-2",
- Count: 3,
- }
-
- base.MockPost("lke/clusters/123/pools", fixtureData)
-
- pool, err := base.Client.CreateLKEClusterPool(context.Background(), 123, createOptions)
- assert.NoError(t, err)
- assert.Equal(t, "g6-standard-2", pool.Type)
- assert.Equal(t, 3, pool.Count)
-}
-
-func TestLKEClusterPool_Update(t *testing.T) {
- fixtureData, err := fixtures.GetFixture("lke_cluster_pool_update")
- assert.NoError(t, err)
-
- var base ClientBaseCase
- base.SetUp(t)
- defer base.TearDown(t)
-
- updateOptions := linodego.LKEClusterPoolUpdateOptions{
- Count: 5,
- }
-
- base.MockPut("lke/clusters/123/pools/1", fixtureData)
-
- pool, err := base.Client.UpdateLKEClusterPool(context.Background(), 123, 1, updateOptions)
- assert.NoError(t, err)
- assert.Equal(t, 5, pool.Count)
-}
-
-func TestLKEClusterPool_Delete(t *testing.T) {
- var base ClientBaseCase
- base.SetUp(t)
- defer base.TearDown(t)
-
- base.MockDelete("lke/clusters/123/pools/1", nil)
-
- err := base.Client.DeleteLKEClusterPool(context.Background(), 123, 1)
- assert.NoError(t, err)
-}
-
-func TestLKEClusterPool_DeleteNode(t *testing.T) {
- var base ClientBaseCase
- base.SetUp(t)
- defer base.TearDown(t)
-
- base.MockDelete("lke/clusters/123/nodes/abc123", nil)
-
- err := base.Client.DeleteLKEClusterPoolNode(context.Background(), 123, "abc123")
- assert.NoError(t, err)
-}
diff --git a/test/unit/lke_clusters_test.go b/test/unit/lke_clusters_test.go
index 0dfad0d51..88938da2e 100644
--- a/test/unit/lke_clusters_test.go
+++ b/test/unit/lke_clusters_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -65,7 +65,9 @@ func TestLKECluster_List(t *testing.T) {
assert.Equal(t, 123, clusters[0].SubnetID)
assert.Equal(t, 456, clusters[0].VpcID)
assert.Equal(t, linodego.LKEClusterStackIPv4, clusters[0].StackType)
+ assert.Equal(t, []linodego.LockType{linodego.LockTypeCannotDelete}, clusters[0].Locks)
assert.Equal(t, false, clusters[0].ControlPlane.AuditLogsEnabled)
+ assert.Empty(t, clusters[1].Locks)
}
func TestLKECluster_Get(t *testing.T) {
@@ -85,6 +87,7 @@ func TestLKECluster_Get(t *testing.T) {
assert.Equal(t, 123, cluster.SubnetID)
assert.Equal(t, 456, cluster.VpcID)
assert.Equal(t, linodego.LKEClusterStackIPv4, cluster.StackType)
+ assert.Equal(t, []linodego.LockType{linodego.LockTypeCannotDelete}, cluster.Locks)
assert.Equal(t, false, cluster.ControlPlane.AuditLogsEnabled)
}
@@ -131,7 +134,7 @@ func TestLKECluster_Update(t *testing.T) {
updateOptions := linodego.LKEClusterUpdateOptions{
Label: "updated-cluster",
- Tags: &[]string{"new-tag"},
+ Tags: []string{"new-tag"},
ControlPlane: &linodego.LKEClusterControlPlaneOptions{
AuditLogsEnabled: linodego.Pointer(true),
},
@@ -182,21 +185,6 @@ func TestLKECluster_DeleteKubeconfig(t *testing.T) {
assert.NoError(t, err)
}
-func TestLKECluster_GetDashboard(t *testing.T) {
- fixtureData, err := fixtures.GetFixture("lke_cluster_dashboard")
- assert.NoError(t, err)
-
- var base ClientBaseCase
- base.SetUp(t)
- defer base.TearDown(t)
-
- base.MockGet("lke/clusters/123/dashboard", fixtureData)
-
- dashboard, err := base.Client.GetLKEClusterDashboard(context.Background(), 123)
- assert.NoError(t, err)
- assert.Equal(t, "https://dashboard.example.com", dashboard.URL)
-}
-
func TestLKECluster_GetAPLConsoleURL(t *testing.T) {
fixtureData, err := fixtures.GetFixture("lke_cluster_apl")
assert.NoError(t, err)
diff --git a/test/unit/lke_node_pools_test.go b/test/unit/lke_node_pools_test.go
index c01b63670..2dd26dac1 100644
--- a/test/unit/lke_node_pools_test.go
+++ b/test/unit/lke_node_pools_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -73,6 +73,11 @@ func TestLKENodePool_Get(t *testing.T) {
assert.Equal(t, "g6-standard-2", nodePool.Type)
assert.Equal(t, 3, nodePool.Count)
assert.Equal(t, []string{"tag1", "tag2"}, nodePool.Tags)
+ assert.Equal(t, []linodego.LockType{linodego.LockTypeCannotDelete}, nodePool.Locks)
+ if assert.NotNil(t, nodePool.Isolation) {
+ assert.True(t, nodePool.Isolation.PublicIPv4)
+ assert.False(t, nodePool.Isolation.PublicIPv6)
+ }
}
func TestLKENodePool_Create(t *testing.T) {
@@ -99,6 +104,10 @@ func TestLKENodePool_Create(t *testing.T) {
Max: 5,
},
Label: &label,
+ Isolation: &linodego.LKENodePoolIsolationCreateOptions{
+ PublicIPv4: Ptr(true),
+ PublicIPv6: Ptr(false),
+ },
}
base.MockPost("lke/clusters/123/pools", fixtureData)
@@ -111,6 +120,10 @@ func TestLKENodePool_Create(t *testing.T) {
assert.Equal(t, 1, nodePool.Autoscaler.Min)
assert.Equal(t, 5, nodePool.Autoscaler.Max)
assert.Equal(t, &label, nodePool.Label)
+ if assert.NotNil(t, nodePool.Isolation) {
+ assert.True(t, nodePool.Isolation.PublicIPv4)
+ assert.False(t, nodePool.Isolation.PublicIPv6)
+ }
}
func TestLKENodePool_Update(t *testing.T) {
@@ -125,7 +138,7 @@ func TestLKENodePool_Update(t *testing.T) {
updateOptions := linodego.LKENodePoolUpdateOptions{
Count: 5,
- Tags: &[]string{"updated-tag"},
+ Tags: []string{"updated-tag"},
Labels: Ptr(linodego.LKENodePoolLabels{"env": "prod"}),
Autoscaler: &linodego.LKENodePoolAutoscaler{
Enabled: true,
@@ -172,7 +185,9 @@ func TestLKENodePool_List(t *testing.T) {
assert.NoError(t, err)
assert.Len(t, nodePools, 2)
assert.Equal(t, 456, nodePools[0].ID)
+ assert.Equal(t, []linodego.LockType{linodego.LockTypeCannotDelete}, nodePools[0].Locks)
assert.Equal(t, 789, nodePools[1].ID)
+ assert.Empty(t, nodePools[1].Locks)
}
func TestLKENodePoolNode_Delete(t *testing.T) {
diff --git a/test/unit/longview_subscriptions_test.go b/test/unit/longview_subscriptions_test.go
index bbdf2d1b9..82a5e0939 100644
--- a/test/unit/longview_subscriptions_test.go
+++ b/test/unit/longview_subscriptions_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/longview_test.go b/test/unit/longview_test.go
index 75f51b7d9..783cdb5a0 100644
--- a/test/unit/longview_test.go
+++ b/test/unit/longview_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/monitor_alert_channels_test.go b/test/unit/monitor_alert_channels_test.go
index b6199bc43..6b4bac32f 100644
--- a/test/unit/monitor_alert_channels_test.go
+++ b/test/unit/monitor_alert_channels_test.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
diff --git a/test/unit/monitor_alert_definitions_test.go b/test/unit/monitor_alert_definitions_test.go
index b512c8599..31ccdbd08 100644
--- a/test/unit/monitor_alert_definitions_test.go
+++ b/test/unit/monitor_alert_definitions_test.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -21,6 +21,7 @@ const (
"service_type": "dbaas",
"description": "A test alert for dbaas service",
"scope": "entity",
+ "group_by": ["entity_id"],
"regions": [],
"alert_channels": [
{
@@ -79,6 +80,7 @@ const (
"description": "A test alert for dbaas service",
"status": "enabled",
"scope": "entity",
+ "group_by": ["entity_id"],
"regions": [],
"alert_channels": [
{
@@ -139,6 +141,7 @@ const (
"status": "disabled",
"scope": "entity",
"description": "A test alert for dbaas service",
+ "group_by": ["entity_id"],
"regions": [],
"alert_channels": [
{
@@ -210,6 +213,118 @@ const (
"pages": 1,
"results": 3
}`
+
+ monitorAlertDefinitionCloneResponse = `{
+ "id": 456,
+ "label": "test-alert-definition-clone",
+ "severity": 1,
+ "type": "user",
+ "service_type": "dbaas",
+ "description": "A test alert for dbaas service",
+ "scope": "entity",
+ "group_by": ["entity_id"],
+ "regions": [],
+ "alert_channels": [
+ {
+ "id": 10000,
+ "label": "Read-Write Channel",
+ "type": "email",
+ "url": "/monitor/alert-channels/10000"
+ }
+ ],
+ "rule_criteria": {
+ "rules": [
+ {
+ "aggregate_function": "avg",
+ "dimension_filters": [
+ {
+ "dimension_label": "node_type",
+ "label": "Node Type",
+ "operator": "eq",
+ "value": "primary"
+ }
+ ],
+ "label": "High CPU Usage",
+ "metric": "cpu_usage",
+ "operator": "gt",
+ "threshold": 90,
+ "unit": "percent"
+ }
+ ]
+ },
+ "trigger_conditions": {
+ "criteria_condition": "ALL",
+ "evaluation_period_seconds": 300,
+ "polling_interval_seconds": 60,
+ "trigger_occurrences": 3
+ },
+ "class": "",
+ "status": "enabled",
+ "entities": {
+ "url": "/monitor/services/dbaas/alert-definitions/456/entities",
+ "count": 0,
+ "has_more_resources": false
+ },
+ "created": "2024-01-01T00:00:00",
+ "updated": "2024-01-01T00:00:00",
+ "updated_by": "tester"
+ }`
+
+ monitorAlertDefinitionCloneWithOverridesResponse = `{
+ "id": 789,
+ "label": "test-alert-definition-clone-overrides",
+ "severity": 1,
+ "type": "user",
+ "service_type": "dbaas",
+ "description": "cloned alert definition",
+ "scope": "entity",
+ "group_by": ["entity_id"],
+ "regions": [],
+ "alert_channels": [
+ {
+ "id": 10000,
+ "label": "Read-Write Channel",
+ "type": "email",
+ "url": "/monitor/alert-channels/10000"
+ }
+ ],
+ "rule_criteria": {
+ "rules": [
+ {
+ "aggregate_function": "avg",
+ "dimension_filters": [
+ {
+ "dimension_label": "node_type",
+ "label": "Node Type",
+ "operator": "eq",
+ "value": "primary"
+ }
+ ],
+ "label": "High CPU Usage",
+ "metric": "cpu_usage",
+ "operator": "gt",
+ "threshold": 90,
+ "unit": "percent"
+ }
+ ]
+ },
+ "trigger_conditions": {
+ "criteria_condition": "ALL",
+ "evaluation_period_seconds": 300,
+ "polling_interval_seconds": 900,
+ "trigger_occurrences": 3
+ },
+ "class": "",
+ "status": "enabled",
+ "entities": {
+ "url": "/monitor/services/dbaas/alert-definitions/789/entities",
+ "count": 0,
+ "has_more_resources": false
+ },
+ "created": "2024-01-01T00:00:00",
+ "updated": "2024-01-01T00:00:00",
+ "updated_by": "tester"
+ }`
)
func TestCreateMonitorAlertDefinition(t *testing.T) {
@@ -226,6 +341,7 @@ func TestCreateMonitorAlertDefinition(t *testing.T) {
Regions: []string{},
ChannelIDs: []int{1},
EntityIDs: []string{"12345"},
+ GroupBy: []string{"entity_id"},
}
alert, err := base.Client.CreateMonitorAlertDefinition(context.Background(), testMonitorAlertDefinitionServiceType, createOpts)
@@ -234,6 +350,7 @@ func TestCreateMonitorAlertDefinition(t *testing.T) {
assert.Equal(t, "test-alert-definition", alert.Label)
assert.Equal(t, testMonitorAlertDefinitionID, alert.ID)
assert.Equal(t, linodego.AlertDefinitionScopeEntity, alert.Scope)
+ assert.Equal(t, []string{"entity_id"}, alert.GroupBy)
assert.Empty(t, alert.Regions)
assert.Equal(t, "/monitor/services/dbaas/alert-definitions/123/entities", alert.Entities.URL)
assert.Equal(t, 0, alert.Entities.Count)
@@ -258,6 +375,7 @@ func TestCreateMonitorAlertDefinitionWithIdempotency(t *testing.T) {
Regions: []string{},
ChannelIDs: []int{1},
EntityIDs: []string{"12345"},
+ GroupBy: []string{"entity_id"},
}
alert, err := base.Client.CreateMonitorAlertDefinitionWithIdempotency(
@@ -275,6 +393,7 @@ func TestCreateMonitorAlertDefinitionWithIdempotency(t *testing.T) {
assert.Equal(t, "/monitor/services/dbaas/alert-definitions/123/entities", alert.Entities.URL)
assert.Equal(t, 0, alert.Entities.Count)
assert.False(t, alert.Entities.HasMoreResources)
+ assert.Equal(t, []string{"entity_id"}, alert.GroupBy)
}
func TestGetMonitorAlertDefinition(t *testing.T) {
@@ -298,6 +417,7 @@ func TestGetMonitorAlertDefinition(t *testing.T) {
assert.NotNil(t, alert.RuleCriteria)
assert.NotNil(t, alert.RuleCriteria.Rules)
assert.NotNil(t, alert.TriggerConditions)
+ assert.Equal(t, []string{"entity_id"}, alert.GroupBy)
}
func TestListMonitorAlertDefinitions(t *testing.T) {
@@ -321,6 +441,7 @@ func TestListMonitorAlertDefinitions(t *testing.T) {
assert.NotNil(t, alerts[0].RuleCriteria)
assert.NotNil(t, alerts[0].RuleCriteria.Rules)
assert.NotNil(t, alerts[0].TriggerConditions)
+ assert.Equal(t, []string{"entity_id"}, alerts[0].GroupBy)
}
func TestUpdateMonitorAlertDefinition(t *testing.T) {
@@ -334,6 +455,7 @@ func TestUpdateMonitorAlertDefinition(t *testing.T) {
Label: "test-alert-definition-renamed",
Severity: int(linodego.SeverityLow),
ChannelIDs: []int{1, 2},
+ GroupBy: []string{"entity_id"},
}
alert, err := base.Client.UpdateMonitorAlertDefinition(
@@ -352,6 +474,7 @@ func TestUpdateMonitorAlertDefinition(t *testing.T) {
assert.Equal(t, "/monitor/services/dbaas/alert-definitions/123/entities", alert.Entities.URL)
assert.Equal(t, 2, alert.Entities.Count)
assert.True(t, alert.Entities.HasMoreResources)
+ assert.Equal(t, []string{"entity_id"}, alert.GroupBy)
}
func TestDeleteMonitorAlertDefinition(t *testing.T) {
@@ -398,3 +521,73 @@ func TestListMonitorAlertDefinitionEntities(t *testing.T) {
assert.Equal(t, "/v4/databases/mysql/instances/3", entities[2].URL)
assert.Equal(t, "dbaas", entities[2].Type)
}
+
+func TestCloneMonitorAlertDefinition(t *testing.T) {
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockPost("monitor/services/dbaas/alert-definitions/123/clone", json.RawMessage(monitorAlertDefinitionCloneResponse))
+
+ cloneOpts := linodego.AlertDefinitionCloneOptions{
+ Label: "test-alert-definition-clone",
+ }
+
+ alert, err := base.Client.CloneMonitorAlertDefinition(
+ context.Background(),
+ testMonitorAlertDefinitionServiceType,
+ testMonitorAlertDefinitionID,
+ cloneOpts,
+ )
+ assert.NoError(t, err)
+ assert.NotNil(t, alert)
+ assert.Equal(t, "test-alert-definition-clone", alert.Label)
+ assert.Equal(t, 456, alert.ID)
+ assert.Equal(t, linodego.AlertDefinitionScopeEntity, alert.Scope)
+ assert.NotNil(t, alert.RuleCriteria)
+ assert.NotNil(t, alert.RuleCriteria.Rules)
+ assert.NotNil(t, alert.TriggerConditions)
+ assert.Equal(t, []string{"entity_id"}, alert.GroupBy)
+}
+
+func TestCloneMonitorAlertDefinitionWithOverrides(t *testing.T) {
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockPost("monitor/services/dbaas/alert-definitions/123/clone", json.RawMessage(monitorAlertDefinitionCloneWithOverridesResponse))
+
+ severity := int(linodego.SeverityMedium)
+ cloneOpts := linodego.AlertDefinitionCloneOptions{
+ Label: "test-alert-definition-clone-overrides",
+ Severity: &severity,
+ Description: linodego.Pointer("cloned alert definition"),
+ Scope: linodego.AlertDefinitionScopeEntity,
+ ChannelIDs: []int{1},
+ EntityIDs: []string{"12345"},
+ GroupBy: []string{"entity_id"},
+ TriggerConditions: &linodego.TriggerConditions{
+ CriteriaCondition: "ALL",
+ EvaluationPeriodSeconds: 300,
+ PollingIntervalSeconds: 900,
+ TriggerOccurrences: 3,
+ },
+ }
+
+ alert, err := base.Client.CloneMonitorAlertDefinition(
+ context.Background(),
+ testMonitorAlertDefinitionServiceType,
+ testMonitorAlertDefinitionID,
+ cloneOpts,
+ )
+ assert.NoError(t, err)
+ assert.NotNil(t, alert)
+ assert.Equal(t, "test-alert-definition-clone-overrides", alert.Label)
+ assert.Equal(t, 789, alert.ID)
+ assert.Equal(t, linodego.AlertDefinitionScopeEntity, alert.Scope)
+ assert.Equal(t, "cloned alert definition", alert.Description)
+ assert.Equal(t, int(linodego.SeverityMedium), alert.Severity)
+ assert.NotNil(t, alert.TriggerConditions)
+ assert.Equal(t, 900, alert.TriggerConditions.PollingIntervalSeconds)
+ assert.Equal(t, []string{"entity_id"}, alert.GroupBy)
+}
diff --git a/test/unit/monitor_api_services_test.go b/test/unit/monitor_api_services_test.go
index b6369a7c7..8a4a6ee79 100644
--- a/test/unit/monitor_api_services_test.go
+++ b/test/unit/monitor_api_services_test.go
@@ -5,7 +5,7 @@ import (
"fmt"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/monitor_dashboards_test.go b/test/unit/monitor_dashboards_test.go
index 986140de7..876afae5c 100644
--- a/test/unit/monitor_dashboards_test.go
+++ b/test/unit/monitor_dashboards_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -27,10 +27,8 @@ func TestListMonitorDashboards(t *testing.T) {
assert.Equal(t, linodego.DashboardType("standard"), clients[0].Type, "Expected dashboard type to match")
assert.Equal(t, linodego.ServiceType("dbaas"), clients[0].ServiceType, "Expected service_type to match")
-
- // Assert group_by field (on first widget)
- assert.NotNil(t, clients[0].Widgets[0].GroupBy, "Expected group_by to be present")
- assert.NotEmpty(t, clients[0].Widgets[0].GroupBy, "group_by should not be empty if present")
+ assert.NotEmpty(t, clients[0].GroupBy, "Expected group_by to be present at dashboard level")
+ assert.Equal(t, []string{"entity_id"}, clients[0].GroupBy, "Expected dashboard group_by to match")
// Assert filters field (optional, on first widget)
if clients[0].Widgets[0].Filters != nil {
@@ -57,6 +55,8 @@ func TestListMonitorDashboardsByID(t *testing.T) {
assert.Equal(t, linodego.DashboardType("standard"), clients.Type, "Expected dashboard type to match")
assert.Equal(t, linodego.ServiceType("dbaas"), clients.ServiceType, "Expected service_type to match")
+ assert.NotEmpty(t, clients.GroupBy, "Expected group_by to be present at dashboard level")
+ assert.Equal(t, []string{"entity_id"}, clients.GroupBy, "Expected dashboard group_by to match")
}
// monitor_dashboard_by_service_type
@@ -79,10 +79,8 @@ func TestListMonitorDashboardsByServiceType(t *testing.T) {
assert.Equal(t, linodego.DashboardType("standard"), clients[0].Type, "Expected dashboard type to match")
assert.Equal(t, linodego.ServiceType("dbaas"), clients[0].ServiceType, "Expected service_type to match")
-
- // Assert group_by field (on first widget)
- assert.NotNil(t, clients[0].Widgets[0].GroupBy, "Expected group_by to be present")
- assert.NotEmpty(t, clients[0].Widgets[0].GroupBy, "group_by should not be empty if present")
+ assert.NotEmpty(t, clients[0].GroupBy, "Expected group_by to be present at dashboard level")
+ assert.Equal(t, []string{"entity_id"}, clients[0].GroupBy, "Expected dashboard group_by to match")
// Assert filters field (optional, on first widget)
if clients[0].Widgets[0].Filters != nil {
diff --git a/test/unit/monitor_logs_test.go b/test/unit/monitor_logs_test.go
new file mode 100644
index 000000000..2811e69bd
--- /dev/null
+++ b/test/unit/monitor_logs_test.go
@@ -0,0 +1,572 @@
+package unit
+
+import (
+ "context"
+ "testing"
+
+ "github.com/linode/linodego/v2"
+ "github.com/stretchr/testify/assert"
+)
+
+const (
+ testLogsDestinationID = 12345
+ testLogStreamID = 456
+ testLKELogStreamID = 789
+)
+
+// ---- Logs Destination tests ----
+
+func TestCreateLogsDestination(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_destinations_get")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockPost("monitor/streams/destinations", fixtureData)
+
+ path := "audit-logs"
+ opts := linodego.LogsDestinationCreateOptions{
+ Label: "my-logs-destination",
+ Type: linodego.LogsDestinationTypeAkamaiObjectStorage,
+ Details: linodego.LogsDestinationDetailsCreateOptions{
+ AccessKeyID: "1ABCD23EFG4HIJKLMNO5",
+ AccessKeySecret: "1aB2CD3e4fgHi5JK6lmnop7qR8STU9VxYzabcdefHh",
+ BucketName: "primary-bucket",
+ Host: "primary-bucket-1.us-iad-12.linodeobjects.com",
+ Path: &path,
+ },
+ }
+
+ dest, err := base.Client.CreateLogsDestination(context.Background(), opts)
+ assert.NoError(t, err)
+ assert.NotNil(t, dest)
+ assert.Equal(t, testLogsDestinationID, dest.ID)
+ assert.Equal(t, "OBJ_logs_destination", dest.Label)
+ assert.Equal(t, linodego.LogsDestinationStatusActive, dest.Status)
+ assert.Equal(t, linodego.LogsDestinationTypeAkamaiObjectStorage, dest.Type)
+ assert.Equal(t, "1ABCD23EFG4HIJKLMNO5", string(dest.Details.AccessKeyID))
+ assert.Equal(t, "primary-bucket", dest.Details.BucketName)
+ assert.Equal(t, "primary-bucket-1.us-iad-12.linodeobjects.com", dest.Details.Host)
+ assert.Equal(t, "audit-logs", dest.Details.Path)
+ assert.NotNil(t, dest.Created)
+ assert.NotNil(t, dest.Updated)
+}
+
+func TestCreateLogsDestination_NoPath(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_destinations_get")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockPost("monitor/streams/destinations", fixtureData)
+
+ opts := linodego.LogsDestinationCreateOptions{
+ Label: "my-logs-destination",
+ Type: linodego.LogsDestinationTypeAkamaiObjectStorage,
+ Details: linodego.LogsDestinationDetailsCreateOptions{
+ AccessKeyID: "1ABCD23EFG4HIJKLMNO5",
+ AccessKeySecret: "1aB2CD3e4fgHi5JK6lmnop7qR8STU9VxYzabcdefHh",
+ BucketName: "primary-bucket",
+ Host: "primary-bucket-1.us-iad-12.linodeobjects.com",
+ // Path intentionally omitted
+ },
+ }
+
+ dest, err := base.Client.CreateLogsDestination(context.Background(), opts)
+ assert.NoError(t, err)
+ assert.NotNil(t, dest)
+ assert.Equal(t, testLogsDestinationID, dest.ID)
+}
+
+func TestGetLogsDestination(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_destinations_get")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockGet("monitor/streams/destinations/12345", fixtureData)
+
+ dest, err := base.Client.GetLogsDestination(context.Background(), testLogsDestinationID)
+ assert.NoError(t, err)
+ assert.NotNil(t, dest)
+ assert.Equal(t, testLogsDestinationID, dest.ID)
+ assert.Equal(t, "OBJ_logs_destination", dest.Label)
+ assert.Equal(t, linodego.LogsDestinationStatusActive, dest.Status)
+ assert.Equal(t, linodego.LogsDestinationTypeAkamaiObjectStorage, dest.Type)
+ assert.Equal(t, "user", dest.CreatedBy)
+ assert.Equal(t, "user", dest.UpdatedBy)
+ assert.Equal(t, 1, dest.Version)
+ assert.Equal(t, "1ABCD23EFG4HIJKLMNO5", string(dest.Details.AccessKeyID))
+ assert.Equal(t, "primary-bucket", dest.Details.BucketName)
+ assert.Equal(t, "primary-bucket-1.us-iad-12.linodeobjects.com", dest.Details.Host)
+ assert.Equal(t, "audit-logs", dest.Details.Path)
+ assert.NotNil(t, dest.Created)
+ assert.NotNil(t, dest.Updated)
+}
+
+func TestListLogsDestinations(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_destinations_list")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockGet("monitor/streams/destinations", fixtureData)
+
+ dests, err := base.Client.ListLogsDestinations(context.Background(), nil)
+ assert.NoError(t, err)
+ assert.Len(t, dests, 2)
+
+ // First destination: akamai_object_storage
+ assert.Equal(t, testLogsDestinationID, dests[0].ID)
+ assert.Equal(t, "OBJ_logs_destination", dests[0].Label)
+ assert.Equal(t, linodego.LogsDestinationStatusActive, dests[0].Status)
+ assert.Equal(t, linodego.LogsDestinationTypeAkamaiObjectStorage, dests[0].Type)
+ assert.Equal(t, "123", dests[0].Details.AccessKeyID)
+ assert.Equal(t, "primary-bucket", dests[0].Details.BucketName)
+ assert.Equal(t, "primary-bucket-1.us-iad-12.linodeobjects.com", dests[0].Details.Host)
+ assert.Equal(t, "audit-logs", dests[0].Details.Path)
+
+ // Second destination: custom_https
+ assert.Equal(t, 67890, dests[1].ID)
+ assert.Equal(t, "HTTPS_logs_destination", dests[1].Label)
+ assert.Equal(t, linodego.LogsDestinationStatusActive, dests[1].Status)
+ assert.Equal(t, linodego.LogsDestinationTypeCustomHTTPS, dests[1].Type)
+ assert.Equal(t, "https://my-site.com/log-storage/database-info", dests[1].Details.EndpointURL)
+ assert.NotNil(t, dests[1].Details.Authentication)
+ assert.Equal(t, linodego.LogsDestinationCustomHTTPSAuthTypeBasic, dests[1].Details.Authentication.Type)
+ assert.NotNil(t, dests[1].Details.Authentication.Details)
+ assert.Equal(t, "John_Q", dests[1].Details.Authentication.Details.Username)
+ assert.Equal(t, "application/json", dests[1].Details.ContentType)
+ assert.Len(t, dests[1].Details.CustomHeaders, 1)
+ assert.Equal(t, "Cache-Control", dests[1].Details.CustomHeaders[0].Name)
+ assert.Equal(t, "max-age=0", dests[1].Details.CustomHeaders[0].Value)
+ assert.Equal(t, "gzip", dests[1].Details.DataCompression)
+}
+
+func TestUpdateLogsDestination(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_destinations_get")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockPut("monitor/streams/destinations/12345", fixtureData)
+
+ opts := linodego.LogsDestinationUpdateOptions{
+ Label: "my-logs-destination-renamed",
+ }
+
+ dest, err := base.Client.UpdateLogsDestination(context.Background(), testLogsDestinationID, opts)
+ assert.NoError(t, err)
+ assert.NotNil(t, dest)
+}
+
+func TestDeleteLogsDestination(t *testing.T) {
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockDelete("monitor/streams/destinations/12345", nil)
+
+ err := base.Client.DeleteLogsDestination(context.Background(), testLogsDestinationID)
+ assert.NoError(t, err)
+}
+
+func TestCreateLogsDestination_CustomHTTPS(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_destinations_custom_https_get")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockPost("monitor/streams/destinations", fixtureData)
+
+ opts := linodego.LogsDestinationCreateOptions{
+ Label: "HTTPS_logs_destination",
+ Type: linodego.LogsDestinationTypeCustomHTTPS,
+ Details: linodego.LogsDestinationCustomHTTPSDetailsCreateOptions{
+ EndpointURL: "https://my-site.com/log-storage/database-info",
+ Authentication: &linodego.LogsDestinationCustomHTTPSAuthDetails{
+ Type: linodego.LogsDestinationCustomHTTPSAuthTypeBasic,
+ Details: &linodego.LogsDestinationCustomHTTPSBasicAuthDetails{
+ Username: "John_Q",
+ Password: "p@$$w0Rd",
+ },
+ },
+ ContentType: "application/json",
+ DataCompression: "gzip",
+ CustomHeaders: []linodego.LogsDestinationCustomHTTPSHeader{
+ {Name: "Cache-Control", Value: "max-age=0"},
+ },
+ },
+ }
+
+ dest, err := base.Client.CreateLogsDestination(context.Background(), opts)
+ assert.NoError(t, err)
+ assert.NotNil(t, dest)
+ assert.Equal(t, 67890, dest.ID)
+ assert.Equal(t, "HTTPS_logs_destination", dest.Label)
+ assert.Equal(t, linodego.LogsDestinationStatusActive, dest.Status)
+ assert.Equal(t, linodego.LogsDestinationTypeCustomHTTPS, dest.Type)
+ assert.Equal(t, "https://my-site.com/log-storage/database-info", dest.Details.EndpointURL)
+ assert.NotNil(t, dest.Details.Authentication)
+ assert.Equal(t, linodego.LogsDestinationCustomHTTPSAuthTypeBasic, dest.Details.Authentication.Type)
+ assert.Equal(t, "application/json", dest.Details.ContentType)
+ assert.Equal(t, "gzip", dest.Details.DataCompression)
+ assert.Len(t, dest.Details.CustomHeaders, 1)
+ assert.Equal(t, "Cache-Control", dest.Details.CustomHeaders[0].Name)
+ assert.NotNil(t, dest.Created)
+ assert.NotNil(t, dest.Updated)
+}
+
+func TestUpdateLogsDestination_CustomHTTPS(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_destinations_custom_https_get")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockPut("monitor/streams/destinations/67890", fixtureData)
+
+ newURL := "https://my-site.com/log-storage/v2"
+ opts := linodego.LogsDestinationUpdateOptions{
+ Label: "HTTPS_logs_destination_renamed",
+ Details: &linodego.LogsDestinationCustomHTTPSDetailsUpdateOptions{
+ EndpointURL: newURL,
+ Authentication: &linodego.LogsDestinationCustomHTTPSAuthDetails{
+ Type: linodego.LogsDestinationCustomHTTPSAuthTypeBasic,
+ Details: &linodego.LogsDestinationCustomHTTPSBasicAuthDetails{
+ Username: "John_Q",
+ Password: "newpassword",
+ },
+ },
+ },
+ }
+
+ dest, err := base.Client.UpdateLogsDestination(context.Background(), 67890, opts)
+ assert.NoError(t, err)
+ assert.NotNil(t, dest)
+ assert.Equal(t, 67890, dest.ID)
+ assert.Equal(t, linodego.LogsDestinationTypeCustomHTTPS, dest.Type)
+}
+
+func TestListLogsDestinationHistory(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_destinations_history_list")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockGet("monitor/streams/destinations/12345/history", fixtureData)
+
+ history, err := base.Client.ListLogsDestinationHistory(context.Background(), testLogsDestinationID, nil)
+ assert.NoError(t, err)
+ assert.Len(t, history, 1)
+ assert.Equal(t, testLogsDestinationID, history[0].ID)
+ assert.Equal(t, "OBJ_logs_destination", history[0].Label)
+ assert.Equal(t, linodego.LogsDestinationStatusActive, history[0].Status)
+ assert.Equal(t, linodego.LogsDestinationTypeAkamaiObjectStorage, history[0].Type)
+ assert.Equal(t, 1, history[0].Version)
+ assert.Equal(t, "123", history[0].Details.AccessKeyID)
+ assert.Equal(t, "primary-bucket", history[0].Details.BucketName)
+ assert.NotNil(t, history[0].Created)
+ assert.NotNil(t, history[0].Updated)
+}
+
+// ---- Log Stream tests ----
+
+func TestCreateLogStream(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_stream")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockPost("monitor/streams", fixtureData)
+
+ status := linodego.StreamStatusActive
+ createOpts := linodego.StreamCreateOptions{
+ Destinations: []int{testLogsDestinationID},
+ Label: "AuditLog-config",
+ Type: linodego.StreamTypeAuditLogs,
+ Status: &status,
+ }
+
+ stream, err := base.Client.CreateLogStream(context.Background(), createOpts)
+ assert.NoError(t, err)
+ assert.NotNil(t, stream)
+ assert.Equal(t, testLogStreamID, stream.ID)
+ assert.Equal(t, "AuditLog-config", stream.Label)
+ assert.Equal(t, linodego.StreamStatusActive, stream.Status)
+ assert.Equal(t, linodego.StreamTypeAuditLogs, stream.Type)
+ assert.NotNil(t, stream.Created)
+ assert.NotNil(t, stream.Updated)
+ assert.Len(t, stream.Destinations, 1)
+ assert.Equal(t, testLogsDestinationID, stream.Destinations[0].ID)
+ assert.Equal(t, linodego.StreamDestinationTypeAkamaiObjectStorage, stream.Destinations[0].Type)
+}
+
+func TestListLogStreams(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_streams_list")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockGet("monitor/streams", fixtureData)
+
+ streams, err := base.Client.ListLogStreams(context.Background(), &linodego.ListOptions{})
+ assert.NoError(t, err)
+ assert.Len(t, streams, 1)
+ assert.Equal(t, testLogStreamID, streams[0].ID)
+ assert.Equal(t, "AuditLog-config", streams[0].Label)
+ assert.Equal(t, linodego.StreamStatusActive, streams[0].Status)
+ assert.Equal(t, 1, streams[0].Version)
+}
+
+func TestGetLogStream(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_stream")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockGet("monitor/streams/456", fixtureData)
+
+ stream, err := base.Client.GetLogStream(context.Background(), testLogStreamID)
+ assert.NoError(t, err)
+ assert.NotNil(t, stream)
+ assert.Equal(t, testLogStreamID, stream.ID)
+ assert.Equal(t, "AuditLog-config", stream.Label)
+ assert.Equal(t, linodego.StreamStatusActive, stream.Status)
+ assert.NotNil(t, stream.Created)
+ assert.NotNil(t, stream.Updated)
+}
+
+func TestUpdateLogStream(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_stream")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockPut("monitor/streams/456", fixtureData)
+
+ label := "AuditLog-config"
+ status := linodego.StreamStatusActive
+ updateOpts := linodego.StreamUpdateOptions{
+ Destinations: []int{testLogsDestinationID},
+ Label: &label,
+ Status: &status,
+ }
+
+ stream, err := base.Client.UpdateLogStream(context.Background(), testLogStreamID, updateOpts)
+ assert.NoError(t, err)
+ assert.NotNil(t, stream)
+ assert.Equal(t, testLogStreamID, stream.ID)
+ assert.Equal(t, "AuditLog-config", stream.Label)
+ assert.Equal(t, linodego.StreamStatusActive, stream.Status)
+ assert.Equal(t, 1, stream.Version)
+}
+
+func TestListLogStreamHistory(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_streams_history")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockGet("monitor/streams/456/history", fixtureData)
+
+ streams, err := base.Client.ListLogStreamHistory(context.Background(), testLogStreamID, nil)
+ assert.NoError(t, err)
+ assert.Len(t, streams, 2)
+ assert.Equal(t, "AuditLog-config", streams[0].Label)
+ assert.Equal(t, 1, streams[0].Version)
+ assert.Equal(t, "AuditLog-config-updated", streams[1].Label)
+ assert.Equal(t, 2, streams[1].Version)
+ assert.Equal(t, linodego.StreamStatusInactive, streams[1].Status)
+}
+
+func TestGetLogStream_DestinationDetails(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_stream")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockGet("monitor/streams/456", fixtureData)
+
+ stream, err := base.Client.GetLogStream(context.Background(), testLogStreamID)
+ assert.NoError(t, err)
+ assert.Len(t, stream.Destinations, 1)
+
+ dest := stream.Destinations[0]
+ assert.Equal(t, testLogsDestinationID, dest.ID)
+ assert.Equal(t, "OBJ_logs_destination", dest.Label)
+ assert.Equal(t, linodego.StreamDestinationTypeAkamaiObjectStorage, dest.Type)
+ assert.Equal(t, "123", dest.Details.AccessKeyID)
+ assert.Equal(t, "primary-bucket", dest.Details.BucketName)
+ assert.Equal(t, "primary-bucket-1.us-iad-12.linodeobjects.com", dest.Details.Host)
+ assert.Equal(t, "audit-logs", dest.Details.Path)
+}
+
+func TestUpdateLogStream_DestinationsOnly(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_stream")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockPut("monitor/streams/456", fixtureData)
+
+ stream, err := base.Client.UpdateLogStream(context.Background(), testLogStreamID, linodego.StreamUpdateOptions{
+ Destinations: []int{testLogsDestinationID},
+ })
+ assert.NoError(t, err)
+ assert.NotNil(t, stream)
+ assert.Len(t, stream.Destinations, 1)
+ assert.Equal(t, testLogsDestinationID, stream.Destinations[0].ID)
+}
+
+func TestUpdateLogStream_LabelAndStatus(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_stream")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockPut("monitor/streams/456", fixtureData)
+
+ label := "AuditLog-config"
+ status := linodego.StreamStatusActive
+ stream, err := base.Client.UpdateLogStream(context.Background(), testLogStreamID, linodego.StreamUpdateOptions{
+ Label: &label,
+ Status: &status,
+ })
+ assert.NoError(t, err)
+ assert.Equal(t, "AuditLog-config", stream.Label)
+ assert.Equal(t, linodego.StreamStatusActive, stream.Status)
+}
+
+func TestDeleteLogStream(t *testing.T) {
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockDelete("monitor/streams/456", nil)
+
+ err := base.Client.DeleteLogStream(context.Background(), testLogStreamID)
+ assert.NoError(t, err)
+}
+
+func TestStreamTypeLKEAuditLogs_Constant(t *testing.T) {
+ assert.Equal(t, linodego.StreamType("audit_logs"), linodego.StreamTypeAuditLogs)
+ assert.Equal(t, linodego.StreamType("lke_audit_logs"), linodego.StreamTypeLKEAuditLogs)
+}
+
+func TestGetLogStream_LKEAuditLogs(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_stream_lke")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockGet("monitor/streams/789", fixtureData)
+
+ stream, err := base.Client.GetLogStream(context.Background(), testLKELogStreamID)
+ assert.NoError(t, err)
+ assert.NotNil(t, stream)
+ assert.Equal(t, testLKELogStreamID, stream.ID)
+ assert.Equal(t, linodego.StreamTypeLKEAuditLogs, stream.Type)
+ assert.NotNil(t, stream.Details)
+ assert.Equal(t, []int{1234, 5678}, stream.Details.ClusterIDs)
+ assert.False(t, stream.Details.IsAutoAddAllClustersEnabled)
+}
+
+func TestGetLogStream_AuditLogs_NoDetails(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_stream")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockGet("monitor/streams/456", fixtureData)
+
+ stream, err := base.Client.GetLogStream(context.Background(), testLogStreamID)
+ assert.NoError(t, err)
+ assert.Nil(t, stream.Details)
+}
+
+func TestCreateLogStream_LKEAuditLogs(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_stream_lke")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockPost("monitor/streams", fixtureData)
+
+ createOpts := linodego.StreamCreateOptions{
+ Destinations: []int{testLogsDestinationID},
+ Label: "LKEAuditLog-config",
+ Type: linodego.StreamTypeLKEAuditLogs,
+ Details: &linodego.StreamDetails{
+ ClusterIDs: []int{1111, 2222},
+ IsAutoAddAllClustersEnabled: false,
+ },
+ }
+
+ stream, err := base.Client.CreateLogStream(context.Background(), createOpts)
+ assert.NoError(t, err)
+ assert.NotNil(t, stream)
+ assert.Equal(t, testLKELogStreamID, stream.ID)
+ assert.Equal(t, linodego.StreamTypeLKEAuditLogs, stream.Type)
+ assert.NotNil(t, stream.Details)
+ assert.Equal(t, []int{1234, 5678}, stream.Details.ClusterIDs)
+}
+
+func TestCreateLogStream_AuditLogs_OmitsDetails(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("monitor_log_stream")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockPost("monitor/streams", fixtureData)
+
+ createOpts := linodego.StreamCreateOptions{
+ Destinations: []int{testLogsDestinationID},
+ Label: "AuditLog-config",
+ Type: linodego.StreamTypeAuditLogs,
+ }
+
+ stream, err := base.Client.CreateLogStream(context.Background(), createOpts)
+ assert.NoError(t, err)
+ assert.NotNil(t, stream)
+ assert.Nil(t, stream.Details)
+}
diff --git a/test/unit/monitor_services_metrics_definition_test.go b/test/unit/monitor_services_metrics_definition_test.go
index 43189151a..e024ae9ea 100644
--- a/test/unit/monitor_services_metrics_definition_test.go
+++ b/test/unit/monitor_services_metrics_definition_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/monitor_services_test.go b/test/unit/monitor_services_test.go
index 98e569488..57218f59c 100644
--- a/test/unit/monitor_services_test.go
+++ b/test/unit/monitor_services_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/monitor_services_token_test.go b/test/unit/monitor_services_token_test.go
index 120b81a4d..20eed2900 100644
--- a/test/unit/monitor_services_token_test.go
+++ b/test/unit/monitor_services_token_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/mysql_test.go b/test/unit/mysql_test.go
index 4fdb5e8c0..f4003372a 100644
--- a/test/unit/mysql_test.go
+++ b/test/unit/mysql_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/network_ips_test.go b/test/unit/network_ips_test.go
index 11042d4bd..eb99b40a8 100644
--- a/test/unit/network_ips_test.go
+++ b/test/unit/network_ips_test.go
@@ -2,13 +2,16 @@ package unit
import (
"context"
+ "encoding/json"
+ "net/http"
"testing"
- "github.com/linode/linodego"
+ "github.com/jarcoal/httpmock"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
-func TestIPUpdateAddressV2(t *testing.T) {
+func TestIPUpdateAddress(t *testing.T) {
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
@@ -21,7 +24,7 @@ func TestIPUpdateAddressV2(t *testing.T) {
Reserved: true,
})
- updatedIP, err := base.Client.UpdateIPAddressV2(context.Background(), ip, linodego.IPAddressUpdateOptionsV2{
+ updatedIP, err := base.Client.UpdateIPAddress(context.Background(), ip, linodego.IPAddressUpdateOptions{
Reserved: linodego.Pointer(true),
})
assert.NoError(t, err, "Expected no error when updating IP address")
@@ -30,6 +33,32 @@ func TestIPUpdateAddressV2(t *testing.T) {
assert.True(t, updatedIP.Reserved, "Expected Reserved to be true")
}
+// TestIPUpdateAddress_BothFields: both "rdns" and "reserved" present in request body.
+func TestIPUpdateAddress_BothFields(t *testing.T) {
+ client := createMockClient(t)
+
+ rdns := "test.example.org"
+ opts := linodego.IPAddressUpdateOptions{
+ RDNS: linodego.Pointer(&rdns),
+ Reserved: linodego.Pointer(true),
+ }
+
+ httpmock.RegisterRegexpResponder("PUT", mockRequestURL(t, "/networking/ips/192.168.1.1"),
+ func(req *http.Request) (*http.Response, error) {
+ var body map[string]any
+ if err := json.NewDecoder(req.Body).Decode(&body); err != nil {
+ t.Fatal(err)
+ }
+ assert.Equal(t, rdns, body["rdns"])
+ assert.Equal(t, true, body["reserved"])
+ return httpmock.NewJsonResponse(http.StatusOK, nil)
+ })
+
+ if _, err := client.UpdateIPAddress(context.Background(), "192.168.1.1", opts); err != nil {
+ t.Fatal(err)
+ }
+}
+
func TestIPAllocateReserve(t *testing.T) {
var base ClientBaseCase
base.SetUp(t)
@@ -37,9 +66,10 @@ func TestIPAllocateReserve(t *testing.T) {
// Mock API response
base.MockPost("networking/ips", linodego.InstanceIP{
- Address: "192.168.1.3",
- Region: "us-east",
- Public: true,
+ Address: "192.168.1.3",
+ Region: "us-east",
+ Public: true,
+ AssignedEntity: nil,
})
ip, err := base.Client.AllocateReserveIP(context.Background(), linodego.AllocateReserveIPOptions{
@@ -54,6 +84,25 @@ func TestIPAllocateReserve(t *testing.T) {
assert.Equal(t, "us-east", ip.Region, "Expected Region to match")
assert.True(t, ip.Public, "Expected Public to be true")
assert.Nil(t, ip.InterfaceID)
+ assert.Nil(t, ip.AssignedEntity)
+}
+
+func TestIPAllocateReserve_RequestBody(t *testing.T) {
+ client := createMockClient(t)
+
+ opts := linodego.AllocateReserveIPOptions{
+ Type: "ipv4",
+ Public: true,
+ Reserved: true,
+ Region: "us-east",
+ }
+
+ httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "/networking/ips"),
+ mockRequestBodyValidate(t, opts, nil))
+
+ if _, err := client.AllocateReserveIP(context.Background(), opts); err != nil {
+ t.Fatal(err)
+ }
}
func TestIPAssignInstances(t *testing.T) {
@@ -145,3 +194,22 @@ func TestIPAddresses_Get(t *testing.T) {
assert.Equal(t, 101, ip.VPCNAT1To1.SubnetID)
assert.Equal(t, 111, ip.VPCNAT1To1.VPCID)
}
+
+func TestIPAddresses_List_FilterByReserved(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("network_ip_addresses_list")
+ assert.NoError(t, err)
+
+ client := createMockClient(t)
+
+ httpmock.RegisterRegexpResponder("GET", mockRequestURL(t, "/networking/ips"),
+ func(req *http.Request) (*http.Response, error) {
+ filter := req.Header.Get("X-Filter")
+ assert.Equal(t, `{"reserved":true}`, filter, "Expected X-Filter header to filter by reserved=true")
+ return httpmock.NewJsonResponse(http.StatusOK, fixtureData)
+ })
+
+ _, err = client.ListIPAddresses(context.Background(), &linodego.ListOptions{
+ Filter: `{"reserved":true}`,
+ })
+ assert.NoError(t, err)
+}
diff --git a/test/unit/network_ipv6_pools_test.go b/test/unit/network_ipv6_pools_test.go
index f977d6c69..38d77bd81 100644
--- a/test/unit/network_ipv6_pools_test.go
+++ b/test/unit/network_ipv6_pools_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/network_ranges_test.go b/test/unit/network_ranges_test.go
index 7de57930e..9c6625f89 100644
--- a/test/unit/network_ranges_test.go
+++ b/test/unit/network_ranges_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/network_reserved_ips_test.go b/test/unit/network_reserved_ips_test.go
index f45cc04d2..ab14b6084 100644
--- a/test/unit/network_reserved_ips_test.go
+++ b/test/unit/network_reserved_ips_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -23,12 +23,14 @@ func TestReservedIPAddresses_List(t *testing.T) {
Region: "us-east",
LinodeID: 12345,
Reserved: true,
+ Tags: []string{"lb"},
},
{
Address: "192.168.1.20",
Region: "us-west",
LinodeID: 67890,
Reserved: true,
+ Tags: []string{},
},
},
}
@@ -43,24 +45,20 @@ func TestReservedIPAddresses_List(t *testing.T) {
assert.Equal(t, "192.168.1.10", reservedIPs[0].Address, "Expected first reserved IP address to match")
assert.Equal(t, "us-east", reservedIPs[0].Region, "Expected region to match")
assert.Equal(t, 12345, reservedIPs[0].LinodeID, "Expected Linode ID to match")
+ assert.True(t, reservedIPs[0].Reserved, "Expected first IP to be reserved")
+ assert.Equal(t, []string{"lb"}, reservedIPs[0].Tags, "Expected tags to match")
}
func TestReservedIPAddress_Get(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("network_reserved_ips_get")
+ assert.NoError(t, err)
+
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
ip := "192.168.1.10"
-
- // Mock response with necessary attributes
- mockResponse := linodego.InstanceIP{
- Address: ip,
- Region: "us-east",
- LinodeID: 12345,
- Reserved: true,
- }
-
- base.MockGet("networking/reserved/ips/"+ip, mockResponse)
+ base.MockGet("networking/reserved/ips/"+ip, fixtureData)
reservedIP, err := base.Client.GetReservedIPAddress(context.Background(), ip)
@@ -69,6 +67,14 @@ func TestReservedIPAddress_Get(t *testing.T) {
assert.Equal(t, ip, reservedIP.Address, "Expected reserved IP address to match")
assert.Equal(t, "us-east", reservedIP.Region, "Expected region to match")
assert.Equal(t, 12345, reservedIP.LinodeID, "Expected Linode ID to match")
+ assert.True(t, reservedIP.Reserved, "Expected IP to be reserved")
+ assert.Equal(t, []string{"lb"}, reservedIP.Tags, "Expected tags to match")
+
+ assert.NotNil(t, reservedIP.AssignedEntity)
+ assert.Equal(t, 1234, reservedIP.AssignedEntity.ID)
+ assert.Equal(t, "my-linode", reservedIP.AssignedEntity.Label)
+ assert.Equal(t, "linode", reservedIP.AssignedEntity.Type)
+ assert.Equal(t, "/v4/linode/instances/12345", reservedIP.AssignedEntity.URL)
}
func TestIPReserveIPAddress(t *testing.T) {
@@ -82,10 +88,12 @@ func TestIPReserveIPAddress(t *testing.T) {
// Mock the POST request for reserving an IP
mockResponse := linodego.InstanceIP{
- Address: "192.168.1.30",
- Region: "us-west",
- LinodeID: 13579,
- Reserved: true,
+ Address: "192.168.1.30",
+ Region: "us-west",
+ LinodeID: 13579,
+ Reserved: true,
+ Tags: []string{"env:staging"},
+ AssignedEntity: nil,
}
base.MockPost("networking/reserved/ips", mockResponse)
@@ -97,6 +105,8 @@ func TestIPReserveIPAddress(t *testing.T) {
assert.Equal(t, "192.168.1.30", reservedIP.Address, "Expected reserved IP address to match")
assert.Equal(t, "us-west", reservedIP.Region, "Expected region to match")
assert.Equal(t, 13579, reservedIP.LinodeID, "Expected Linode ID to match")
+ assert.Equal(t, []string{"env:staging"}, reservedIP.Tags, "Expected tags to match")
+ assert.Nil(t, reservedIP.AssignedEntity, "Expected AssignedEntity to be nil for newly reserved IP")
}
func TestReservedIPAddress_Delete(t *testing.T) {
@@ -113,3 +123,51 @@ func TestReservedIPAddress_Delete(t *testing.T) {
assert.NoError(t, err, "Expected no error when deleting reserved IP address")
}
+
+func TestUpdateReservedIPAddress(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("network_reserved_ip_update")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ ip := "192.168.1.10"
+ base.MockPut("networking/reserved/ips/"+ip, fixtureData)
+
+ updateOpts := linodego.UpdateReservedIPOptions{
+ Tags: []string{"lb", "team:infra"},
+ }
+
+ updated, err := base.Client.UpdateReservedIPAddress(context.Background(), ip, updateOpts)
+
+ assert.NoError(t, err, "Expected no error when updating reserved IP address")
+ assert.NotNil(t, updated)
+ assert.Equal(t, ip, updated.Address)
+ assert.True(t, updated.Reserved)
+ assert.Equal(t, []string{"lb", "team:infra"}, updated.Tags)
+ assert.Nil(t, updated.AssignedEntity, "Expected AssignedEntity to be nil for unassigned reserved IP")
+}
+
+func TestListReservedIPTypes(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("network_reserved_ip_types_list")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockGet("networking/reserved/ips/types", fixtureData)
+
+ types, err := base.Client.ListReservedIPTypes(context.Background(), nil)
+
+ assert.NoError(t, err, "Expected no error when listing reserved IP types")
+ assert.Len(t, types, 1)
+ assert.Equal(t, "ipv4_address", types[0].ID)
+ assert.Equal(t, "IPv4 Address", types[0].Label)
+ assert.Equal(t, 0.005, types[0].Price.Hourly)
+ assert.Equal(t, 2.00, types[0].Price.Monthly)
+ assert.Len(t, types[0].RegionPrices, 1)
+ assert.Equal(t, "us-east", types[0].RegionPrices[0].ID)
+ assert.Equal(t, 0.006, types[0].RegionPrices[0].Hourly)
+}
diff --git a/test/unit/nodebalancer_config_test.go b/test/unit/nodebalancer_config_test.go
index 951546554..08b965917 100644
--- a/test/unit/nodebalancer_config_test.go
+++ b/test/unit/nodebalancer_config_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/nodebalancer_configs_test.go b/test/unit/nodebalancer_configs_test.go
index cfddeab05..ecf103078 100644
--- a/test/unit/nodebalancer_configs_test.go
+++ b/test/unit/nodebalancer_configs_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
diff --git a/test/unit/nodebalancer_firewalls_test.go b/test/unit/nodebalancer_firewalls_test.go
index c63c76fca..cab47f279 100644
--- a/test/unit/nodebalancer_firewalls_test.go
+++ b/test/unit/nodebalancer_firewalls_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/nodebalancer_node_test.go b/test/unit/nodebalancer_node_test.go
index 6b1ecc0bc..af42fcf72 100644
--- a/test/unit/nodebalancer_node_test.go
+++ b/test/unit/nodebalancer_node_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/nodebalancer_test.go b/test/unit/nodebalancer_test.go
index c78ea6195..6c8365945 100644
--- a/test/unit/nodebalancer_test.go
+++ b/test/unit/nodebalancer_test.go
@@ -5,7 +5,8 @@ import (
"fmt"
"testing"
- "github.com/linode/linodego"
+ "github.com/jarcoal/httpmock"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -168,7 +169,7 @@ func TestNodeBalancer_Update(t *testing.T) {
label := "Updated NodeBalancer"
updateOpts := linodego.NodeBalancerUpdateOptions{
Label: &label,
- Tags: &[]string{"updated", "production"},
+ Tags: []string{"updated", "production"},
}
nodebalancer, err := base.Client.UpdateNodeBalancer(context.Background(), 123, updateOpts)
assert.NoError(t, err)
@@ -190,3 +191,20 @@ func TestNodeBalancer_Delete(t *testing.T) {
err := base.Client.DeleteNodeBalancer(context.Background(), 123)
assert.NoError(t, err, "Expected no error when deleting NodeBalancer")
}
+
+func TestNodeBalancer_Create_IPv4RequestBody(t *testing.T) {
+ client := createMockClient(t)
+
+ opts := linodego.NodeBalancerCreateOptions{
+ Label: String("Test NodeBalancer IPv4"),
+ Region: "us-east",
+ IPv4: String("192.0.2.2"),
+ }
+
+ httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "/nodebalancers"),
+ mockRequestBodyValidate(t, opts, nil))
+
+ if _, err := client.CreateNodeBalancer(context.Background(), opts); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/test/unit/nodebalancer_types_test.go b/test/unit/nodebalancer_types_test.go
index 014ce76fd..ca43bf59b 100644
--- a/test/unit/nodebalancer_types_test.go
+++ b/test/unit/nodebalancer_types_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -16,7 +16,7 @@ func TestNodeBalancerTypes_List(t *testing.T) {
base.SetUp(t)
defer base.TearDown(t)
- // Mock the GET request for the node balancer types endpoint (mock as an array instead of paginatedResponse)
+ // Mock the GET request for the node balancer types endpoint (mock as an array instead of PaginatedResponse)
base.MockGet("nodebalancers/types", fixtureData)
// Call the ListNodeBalancerTypes method
diff --git a/test/unit/nodebalancers_test.go b/test/unit/nodebalancers_test.go
index b4e7cd273..31ae7fec0 100644
--- a/test/unit/nodebalancers_test.go
+++ b/test/unit/nodebalancers_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -24,7 +24,7 @@ func TestNodeBalancers_UDP(t *testing.T) {
Label: linodego.Pointer("foobar"),
Region: "us-mia",
ClientUDPSessThrottle: linodego.Pointer(5),
- Configs: []*linodego.NodeBalancerConfigCreateOptions{
+ Configs: []linodego.NodeBalancerConfigCreateOptions{
{
Protocol: linodego.ProtocolUDP,
Port: 1234,
diff --git a/test/unit/object_storage_bucket_cert_test.go b/test/unit/object_storage_bucket_cert_test.go
index 137bed11f..677699ac5 100644
--- a/test/unit/object_storage_bucket_cert_test.go
+++ b/test/unit/object_storage_bucket_cert_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -16,62 +16,19 @@ func TestObjectStorageBucketCert_Get(t *testing.T) {
base.SetUp(t)
defer base.TearDown(t)
- clusterID := "us-east-1"
+ regionID := "us-east"
bucketName := "my-bucket"
- base.MockGet("object-storage/buckets/"+clusterID+"/"+bucketName+"/ssl", fixtureData)
+ base.MockGet("object-storage/buckets/"+regionID+"/"+bucketName+"/ssl", fixtureData)
- cert, err := base.Client.GetObjectStorageBucketCert(context.Background(), clusterID, bucketName)
- assert.NoError(t, err)
- assert.NotNil(t, cert)
- assert.True(t, cert.SSL)
-}
-
-func TestObjectStorageBucketCert_Upload(t *testing.T) {
- fixtureData, err := fixtures.GetFixture("object_storage_bucket_cert")
- assert.NoError(t, err)
-
- var base ClientBaseCase
- base.SetUp(t)
- defer base.TearDown(t)
-
- clusterID := "us-east-1"
- bucketName := "my-bucket"
-
- uploadOpts := linodego.ObjectStorageBucketCertUploadOptions{
- Certificate: "mock-cert",
- PrivateKey: "mock-key",
- }
-
- base.MockPost("object-storage/buckets/"+clusterID+"/"+bucketName+"/ssl", fixtureData)
-
- uploadedCert, err := base.Client.UploadObjectStorageBucketCert(context.Background(), clusterID, bucketName, uploadOpts)
- assert.NoError(t, err)
- assert.NotNil(t, uploadedCert)
- assert.True(t, uploadedCert.SSL)
-}
-
-func TestObjectStorageBucketCertV2_Get(t *testing.T) {
- fixtureData, err := fixtures.GetFixture("object_storage_bucket_cert")
- assert.NoError(t, err)
-
- var base ClientBaseCase
- base.SetUp(t)
- defer base.TearDown(t)
-
- clusterID := "us-east-1"
- bucketName := "my-bucket"
-
- base.MockGet("object-storage/buckets/"+clusterID+"/"+bucketName+"/ssl", fixtureData)
-
- cert, err := base.Client.GetObjectStorageBucketCertV2(context.Background(), clusterID, bucketName)
+ cert, err := base.Client.GetObjectStorageBucketCert(context.Background(), regionID, bucketName)
assert.NoError(t, err)
assert.NotNil(t, cert)
assert.NotNil(t, cert.SSL)
assert.True(t, *cert.SSL)
}
-func TestObjectStorageBucketCertV2_Upload(t *testing.T) {
+func TestObjectStorageBucketCert_Upload(t *testing.T) {
fixtureData, err := fixtures.GetFixture("object_storage_bucket_cert")
assert.NoError(t, err)
@@ -79,7 +36,7 @@ func TestObjectStorageBucketCertV2_Upload(t *testing.T) {
base.SetUp(t)
defer base.TearDown(t)
- clusterID := "us-east-1"
+ regionID := "us-east"
bucketName := "my-bucket"
uploadOpts := linodego.ObjectStorageBucketCertUploadOptions{
@@ -87,9 +44,9 @@ func TestObjectStorageBucketCertV2_Upload(t *testing.T) {
PrivateKey: "mock-key",
}
- base.MockPost("object-storage/buckets/"+clusterID+"/"+bucketName+"/ssl", fixtureData)
+ base.MockPost("object-storage/buckets/"+regionID+"/"+bucketName+"/ssl", fixtureData)
- uploadedCert, err := base.Client.UploadObjectStorageBucketCertV2(context.Background(), clusterID, bucketName, uploadOpts)
+ uploadedCert, err := base.Client.UploadObjectStorageBucketCert(context.Background(), regionID, bucketName, uploadOpts)
assert.NoError(t, err)
assert.NotNil(t, uploadedCert)
assert.NotNil(t, uploadedCert.SSL)
@@ -101,11 +58,11 @@ func TestObjectStorageBucketCert_Delete(t *testing.T) {
base.SetUp(t)
defer base.TearDown(t)
- clusterID := "us-east-1"
+ regionID := "us-east"
bucketName := "my-bucket"
- base.MockDelete("object-storage/buckets/"+clusterID+"/"+bucketName+"/ssl", nil)
+ base.MockDelete("object-storage/buckets/"+regionID+"/"+bucketName+"/ssl", nil)
- err := base.Client.DeleteObjectStorageBucketCert(context.Background(), clusterID, bucketName)
+ err := base.Client.DeleteObjectStorageBucketCert(context.Background(), regionID, bucketName)
assert.NoError(t, err)
}
diff --git a/test/unit/object_storage_bucket_test.go b/test/unit/object_storage_bucket_test.go
index 9e807d312..166bd7ab2 100644
--- a/test/unit/object_storage_bucket_test.go
+++ b/test/unit/object_storage_bucket_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -39,10 +39,10 @@ func TestObjectStorageBucket_ListInCluster(t *testing.T) {
base.SetUp(t)
defer base.TearDown(t)
- clusterID := "us-east-1"
- base.MockGet("object-storage/buckets/"+clusterID, fixtureData)
+ regionID := "us-east"
+ base.MockGet("object-storage/buckets/"+regionID, fixtureData)
- buckets, err := base.Client.ListObjectStorageBucketsInCluster(context.Background(), nil, clusterID)
+ buckets, err := base.Client.ListObjectStorageBucketsInRegion(context.Background(), nil, regionID)
assert.NoError(t, err)
assert.NotEmpty(t, buckets)
}
@@ -55,12 +55,12 @@ func TestObjectStorageBucket_Get(t *testing.T) {
base.SetUp(t)
defer base.TearDown(t)
- clusterID := "us-east-1"
+ regionID := "us-east"
bucketLabel := "my-bucket"
- base.MockGet("object-storage/buckets/"+clusterID+"/"+bucketLabel, fixtureData)
+ base.MockGet("object-storage/buckets/"+regionID+"/"+bucketLabel, fixtureData)
- bucket, err := base.Client.GetObjectStorageBucket(context.Background(), clusterID, bucketLabel)
+ bucket, err := base.Client.GetObjectStorageBucket(context.Background(), regionID, bucketLabel)
assert.NoError(t, err)
assert.NotNil(t, bucket)
assert.Equal(t, bucketLabel, bucket.Label)
@@ -92,12 +92,12 @@ func TestObjectStorageBucket_Delete(t *testing.T) {
base.SetUp(t)
defer base.TearDown(t)
- clusterID := "us-east-1"
+ regionID := "us-east"
bucketLabel := "my-bucket"
- base.MockDelete("object-storage/buckets/"+clusterID+"/"+bucketLabel, nil)
+ base.MockDelete("object-storage/buckets/"+regionID+"/"+bucketLabel, nil)
- err := base.Client.DeleteObjectStorageBucket(context.Background(), clusterID, bucketLabel)
+ err := base.Client.DeleteObjectStorageBucket(context.Background(), regionID, bucketLabel)
assert.NoError(t, err)
}
@@ -109,32 +109,50 @@ func TestObjectStorageBucket_GetAccess(t *testing.T) {
base.SetUp(t)
defer base.TearDown(t)
- clusterID := "us-east-1"
+ regionID := "us-east"
bucketLabel := "my-bucket"
- base.MockGet("object-storage/buckets/"+clusterID+"/"+bucketLabel+"/access", fixtureData)
+ base.MockGet("object-storage/buckets/"+regionID+"/"+bucketLabel+"/access", fixtureData)
- access, err := base.Client.GetObjectStorageBucketAccess(context.Background(), clusterID, bucketLabel)
+ access, err := base.Client.GetObjectStorageBucketAccess(context.Background(), regionID, bucketLabel)
assert.NoError(t, err)
assert.NotNil(t, access)
assert.Equal(t, linodego.ACLPublicRead, access.ACL)
}
+func TestObjectStorageBucket_ModifyAccess(t *testing.T) {
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ regionID := "us-east"
+ bucketLabel := "my-bucket"
+
+ modifyOpts := linodego.ObjectStorageBucketModifyAccessOptions{
+ ACL: linodego.ACLPrivate,
+ }
+
+ base.MockPost("object-storage/buckets/"+regionID+"/"+bucketLabel+"/access", nil)
+
+ err := base.Client.ModifyObjectStorageBucketAccess(context.Background(), regionID, bucketLabel, modifyOpts)
+ assert.NoError(t, err)
+}
+
func TestObjectStorageBucket_UpdateAccess(t *testing.T) {
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
- clusterID := "us-east-1"
+ regionID := "us-east"
bucketLabel := "my-bucket"
updateOpts := linodego.ObjectStorageBucketUpdateAccessOptions{
ACL: linodego.ACLPrivate,
}
- base.MockPost("object-storage/buckets/"+clusterID+"/"+bucketLabel+"/access", nil)
+ base.MockPut("object-storage/buckets/"+regionID+"/"+bucketLabel+"/access", nil)
- err := base.Client.UpdateObjectStorageBucketAccess(context.Background(), clusterID, bucketLabel, updateOpts)
+ err := base.Client.UpdateObjectStorageBucketAccess(context.Background(), regionID, bucketLabel, updateOpts)
assert.NoError(t, err)
}
@@ -146,12 +164,12 @@ func TestObjectStorageBucket_ListContents(t *testing.T) {
base.SetUp(t)
defer base.TearDown(t)
- clusterID := "us-east-1"
+ regionID := "us-east"
bucketLabel := "my-bucket"
- base.MockGet("object-storage/buckets/"+clusterID+"/"+bucketLabel+"/object-list", fixtureData)
+ base.MockGet("object-storage/buckets/"+regionID+"/"+bucketLabel+"/object-list", fixtureData)
- contents, err := base.Client.ListObjectStorageBucketContents(context.Background(), clusterID, bucketLabel, nil)
+ contents, err := base.Client.ListObjectStorageBucketContents(context.Background(), regionID, bucketLabel, nil)
assert.NoError(t, err)
assert.NotNil(t, contents)
assert.True(t, contents.IsTruncated)
diff --git a/test/unit/object_storage_cluster_test.go b/test/unit/object_storage_cluster_test.go
deleted file mode 100644
index 25aaf549d..000000000
--- a/test/unit/object_storage_cluster_test.go
+++ /dev/null
@@ -1,50 +0,0 @@
-package unit
-
-import (
- "context"
- "testing"
-
- "github.com/stretchr/testify/assert"
-)
-
-func TestObjectStorageCluster_List(t *testing.T) {
- fixtureData, err := fixtures.GetFixture("object_storage_cluster_list")
- assert.NoError(t, err)
-
- var base ClientBaseCase
- base.SetUp(t)
- defer base.TearDown(t)
-
- base.MockGet("object-storage/clusters", fixtureData)
-
- clusters, err := base.Client.ListObjectStorageClusters(context.Background(), nil)
- assert.NoError(t, err)
- assert.Len(t, clusters, 1)
-
- assert.Equal(t, "us-east-1", clusters[0].Region)
- assert.Equal(t, "active", clusters[0].Status)
- assert.Equal(t, "my-cluster-id", clusters[0].ID)
- assert.Equal(t, "example.com", clusters[0].Domain)
- assert.Equal(t, "static.example.com", clusters[0].StaticSiteDomain)
-}
-
-func TestObjectStorageCluster_Get(t *testing.T) {
- fixtureData, err := fixtures.GetFixture("object_storage_cluster_get")
- assert.NoError(t, err)
-
- var base ClientBaseCase
- base.SetUp(t)
- defer base.TearDown(t)
-
- base.MockGet("object-storage/clusters/my-cluster-id", fixtureData)
-
- cluster, err := base.Client.GetObjectStorageCluster(context.Background(), "my-cluster-id")
- assert.NoError(t, err)
- assert.NotNil(t, cluster)
-
- assert.Equal(t, "us-east-1", cluster.Region)
- assert.Equal(t, "active", cluster.Status)
- assert.Equal(t, "my-cluster-id", cluster.ID)
- assert.Equal(t, "example.com", cluster.Domain)
- assert.Equal(t, "static.example.com", cluster.StaticSiteDomain)
-}
diff --git a/test/unit/object_storage_endpoint_test.go b/test/unit/object_storage_endpoint_test.go
index 1322e5c3a..f2780b068 100644
--- a/test/unit/object_storage_endpoint_test.go
+++ b/test/unit/object_storage_endpoint_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/object_storage_key_test.go b/test/unit/object_storage_key_test.go
index 9012536ee..faff87294 100644
--- a/test/unit/object_storage_key_test.go
+++ b/test/unit/object_storage_key_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/object_storage_object_test.go b/test/unit/object_storage_object_test.go
index 35da889ee..63d8126c1 100644
--- a/test/unit/object_storage_object_test.go
+++ b/test/unit/object_storage_object_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -31,7 +31,7 @@ func TestObjectStorageObjectURL_Create(t *testing.T) {
assert.True(t, urlResponse.Exists)
}
-func TestObjectStorageObjectACLConfigV2_Get(t *testing.T) {
+func TestObjectStorageObjectACLConfig_Get(t *testing.T) {
fixtureData, err := fixtures.GetFixture("object_storage_object_acl_get")
assert.NoError(t, err)
@@ -41,13 +41,13 @@ func TestObjectStorageObjectACLConfigV2_Get(t *testing.T) {
base.MockGet("object-storage/buckets/my-bucket/test-label/object-acl?name=test-object", fixtureData)
- aclConfig, err := base.Client.GetObjectStorageObjectACLConfigV2(context.Background(), "my-bucket", "test-label", "test-object")
+ aclConfig, err := base.Client.GetObjectStorageObjectACLConfig(context.Background(), "my-bucket", "test-label", "test-object")
assert.NoError(t, err)
assert.NotNil(t, aclConfig.ACL)
assert.Equal(t, "public-read", *aclConfig.ACL)
}
-func TestObjectStorageObjectACLConfigV2_Update(t *testing.T) {
+func TestObjectStorageObjectACLConfig_Update(t *testing.T) {
fixtureData, err := fixtures.GetFixture("object_storage_object_acl_update")
assert.NoError(t, err)
@@ -62,7 +62,7 @@ func TestObjectStorageObjectACLConfigV2_Update(t *testing.T) {
base.MockPut("object-storage/buckets/my-bucket/test-label/object-acl", fixtureData)
- updatedACLConfig, err := base.Client.UpdateObjectStorageObjectACLConfigV2(context.Background(), "my-bucket", "test-label", updateOptions)
+ updatedACLConfig, err := base.Client.UpdateObjectStorageObjectACLConfig(context.Background(), "my-bucket", "test-label", updateOptions)
assert.NoError(t, err)
assert.NotNil(t, updatedACLConfig.ACL)
assert.Equal(t, "private", *updatedACLConfig.ACL)
diff --git a/test/unit/object_storage_quota_test.go b/test/unit/object_storage_quota_test.go
index 5027d464a..7b13b6682 100644
--- a/test/unit/object_storage_quota_test.go
+++ b/test/unit/object_storage_quota_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/placement_group_test.go b/test/unit/placement_group_test.go
index 7283ca1d4..53bfd4a74 100644
--- a/test/unit/placement_group_test.go
+++ b/test/unit/placement_group_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/postgres_test.go b/test/unit/postgres_test.go
index d8c6f2d62..84197408e 100644
--- a/test/unit/postgres_test.go
+++ b/test/unit/postgres_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/prefixlists_test.go b/test/unit/prefixlists_test.go
index 69cf95744..4f0ec285d 100644
--- a/test/unit/prefixlists_test.go
+++ b/test/unit/prefixlists_test.go
@@ -6,7 +6,7 @@ import (
"testing"
"time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/profile_phone_number_test.go b/test/unit/profile_phone_number_test.go
index 3b6d6ffee..5fae800a2 100644
--- a/test/unit/profile_phone_number_test.go
+++ b/test/unit/profile_phone_number_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
)
func TestPhoneNumber_SendVerificationCode(t *testing.T) {
diff --git a/test/unit/profile_preferences_test.go b/test/unit/profile_preferences_test.go
index d14a8f9d2..20b1a9af2 100644
--- a/test/unit/profile_preferences_test.go
+++ b/test/unit/profile_preferences_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/profile_security_questions_test.go b/test/unit/profile_security_questions_test.go
index 6231ecfa2..e3888905b 100644
--- a/test/unit/profile_security_questions_test.go
+++ b/test/unit/profile_security_questions_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/profile_sshkey_test.go b/test/unit/profile_sshkey_test.go
index bc0685ee1..10ae14714 100644
--- a/test/unit/profile_sshkey_test.go
+++ b/test/unit/profile_sshkey_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/profile_test.go b/test/unit/profile_test.go
index ca82f52a6..0c414dd5f 100644
--- a/test/unit/profile_test.go
+++ b/test/unit/profile_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/profile_tfa_test.go b/test/unit/profile_tfa_test.go
index d819011d2..ff1ff8022 100644
--- a/test/unit/profile_tfa_test.go
+++ b/test/unit/profile_tfa_test.go
@@ -6,7 +6,7 @@ import (
"time"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/profile_token_test.go b/test/unit/profile_token_test.go
index 1c5eead03..fcd26dee4 100644
--- a/test/unit/profile_token_test.go
+++ b/test/unit/profile_token_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/rdma_vpc_test.go b/test/unit/rdma_vpc_test.go
index 5c4ee5ca9..befa46c5e 100644
--- a/test/unit/rdma_vpc_test.go
+++ b/test/unit/rdma_vpc_test.go
@@ -6,7 +6,7 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -294,7 +294,7 @@ func TestInstance_CreateWithLinodeInterfaces_BackwardsCompatible(t *testing.T) {
VPC: &linodego.VPCInterfaceCreateOptions{
SubnetID: 4,
IPv4: &linodego.VPCInterfaceIPv4CreateOptions{
- Addresses: &[]linodego.VPCInterfaceIPv4AddressCreateOptions{
+ Addresses: []linodego.VPCInterfaceIPv4AddressCreateOptions{
{
Address: linodego.Pointer("10.0.0.5"),
Primary: linodego.Pointer(true),
diff --git a/test/unit/region_test.go b/test/unit/region_test.go
index b902eb888..d6411175d 100644
--- a/test/unit/region_test.go
+++ b/test/unit/region_test.go
@@ -5,7 +5,7 @@ import (
"fmt"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"golang.org/x/exp/slices"
)
@@ -46,7 +46,7 @@ func TestListRegions(t *testing.T) {
assert.Greater(t, region.PlacementGroupLimits.MaximumPGsPerCustomer, 0, "Expected MaximumPGsPerCustomer to be greater than 0")
assert.Greater(t, region.PlacementGroupLimits.MaximumLinodesPerPG, 0, "Expected MaximumLinodesPerPG to be greater than 0")
}
- assert.Contains(t, region.Capabilities, linodego.CapabilityLinodes, "Expected region to support Linodes")
+ assert.Contains(t, region.Capabilities, string(linodego.CapabilityLinodes), "Expected region to support Linodes")
// Test monitors field
assert.NotNil(t, region.Monitors.Alerts, "Expected monitors alerts to be initialized")
assert.NotNil(t, region.Monitors.Metrics, "Expected monitors metrics to be initialized")
@@ -82,7 +82,7 @@ func TestGetRegion(t *testing.T) {
assert.Greater(t, region.PlacementGroupLimits.MaximumPGsPerCustomer, 0, "Expected MaximumPGsPerCustomer to be greater than 0")
assert.Greater(t, region.PlacementGroupLimits.MaximumLinodesPerPG, 0, "Expected MaximumLinodesPerPG to be greater than 0")
}
- assert.Contains(t, region.Capabilities, linodego.CapabilityLinodes, "Expected region to support Linodes")
+ assert.Contains(t, region.Capabilities, string(linodego.CapabilityLinodes), "Expected region to support Linodes")
// Test monitors field
assert.NotNil(t, region.Monitors.Alerts, "Expected monitors alerts to be initialized")
assert.NotNil(t, region.Monitors.Metrics, "Expected monitors metrics to be initialized")
diff --git a/test/unit/stackscripts_test.go b/test/unit/stackscripts_test.go
index e2be45b8e..cbace9150 100644
--- a/test/unit/stackscripts_test.go
+++ b/test/unit/stackscripts_test.go
@@ -5,7 +5,7 @@ import (
"fmt"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"golang.org/x/exp/slices"
)
diff --git a/test/unit/support_test.go b/test/unit/support_test.go
index 4f03233c5..3cc2da664 100644
--- a/test/unit/support_test.go
+++ b/test/unit/support_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/tag_test.go b/test/unit/tag_test.go
index d06cc9e25..55586c42e 100644
--- a/test/unit/tag_test.go
+++ b/test/unit/tag_test.go
@@ -5,7 +5,8 @@ import (
"fmt"
"testing"
- "github.com/linode/linodego"
+ "github.com/jarcoal/httpmock"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"golang.org/x/exp/slices"
)
@@ -117,3 +118,71 @@ func TestSortedObjects(t *testing.T) {
assert.NotEmpty(t, sortedObjects.Instances, "Expected non-empty instances list in sorted objects")
assert.Equal(t, "example-instance", sortedObjects.Instances[0].Label, "Expected instance label to be 'example-instance'")
}
+
+func TestCreateTagWithReservedIPv4Addresses(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("tag_create")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ base.MockPost("tags", fixtureData)
+
+ opts := linodego.TagCreateOptions{
+ Label: "new-tag",
+ ReservedIPv4Addresses: []string{"192.168.1.10", "192.168.1.20"},
+ }
+
+ tag, err := base.Client.CreateTag(context.Background(), opts)
+ assert.NoError(t, err, "Expected no error when creating tag with reserved IPv4 addresses")
+ assert.Equal(t, "new-tag", tag.Label)
+}
+
+func TestListTaggedObjectsWithReservedIPv4Address(t *testing.T) {
+ fixtureData, err := fixtures.GetFixture("tagged_objects_reserved_ip_list")
+ assert.NoError(t, err)
+
+ var base ClientBaseCase
+ base.SetUp(t)
+ defer base.TearDown(t)
+
+ tagLabel := "lb"
+ base.MockGet(fmt.Sprintf("tags/%s", tagLabel), fixtureData)
+
+ taggedObjects, err := base.Client.ListTaggedObjects(context.Background(), tagLabel, &linodego.ListOptions{})
+ assert.NoError(t, err)
+ assert.Len(t, taggedObjects, 1)
+
+ assert.Equal(t, "reserved_ipv4_address", taggedObjects[0].Type)
+
+ ip, ok := taggedObjects[0].Data.(linodego.InstanceIP)
+ assert.True(t, ok, "Expected Data to be InstanceIP")
+ assert.Equal(t, "192.168.1.10", ip.Address)
+ assert.Equal(t, "192.0.2.1", ip.Gateway)
+ assert.Equal(t, 24, ip.Prefix)
+ assert.True(t, ip.Public)
+ assert.Equal(t, "", ip.RDNS)
+ assert.Equal(t, "us-east", ip.Region)
+ assert.Equal(t, "255.255.255.0", ip.SubnetMask)
+ assert.Equal(t, linodego.InstanceIPType("ipv4"), ip.Type)
+ assert.Nil(t, ip.VPCNAT1To1)
+ assert.True(t, ip.Reserved)
+ assert.Equal(t, []string{"lb"}, ip.Tags)
+}
+
+func TestCreateTag_ReservedIPv4AddressesRequestBody(t *testing.T) {
+ client := createMockClient(t)
+
+ opts := linodego.TagCreateOptions{
+ Label: "new-tag",
+ ReservedIPv4Addresses: []string{"192.0.2.141"},
+ }
+
+ httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "/tags"),
+ mockRequestBodyValidate(t, opts, nil))
+
+ if _, err := client.CreateTag(context.Background(), opts); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/test/unit/types_test.go b/test/unit/types_test.go
index b986560da..4ff615a2e 100644
--- a/test/unit/types_test.go
+++ b/test/unit/types_test.go
@@ -5,7 +5,7 @@ import (
"fmt"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"golang.org/x/exp/slices"
)
diff --git a/test/unit/util_test.go b/test/unit/util_test.go
index ae6b655f4..2d25c5e6d 100644
--- a/test/unit/util_test.go
+++ b/test/unit/util_test.go
@@ -7,8 +7,8 @@ import (
"testing"
"github.com/jarcoal/httpmock"
- "github.com/linode/linodego"
- "github.com/linode/linodego/internal/testutil"
+ "github.com/linode/linodego/v2"
+ "github.com/linode/linodego/v2/internal/testutil"
)
func mockRequestBodyValidate(t *testing.T, expected interface{}, response interface{}) httpmock.Responder {
@@ -20,7 +20,7 @@ func mockRequestURL(t *testing.T, path string) *regexp.Regexp {
}
func createMockClient(t *testing.T) *linodego.Client {
- return testutil.CreateMockClient(t, linodego.NewClient)
+ return testutil.CreateMockClientWithError(t, linodego.NewClient)
}
func formatMockAPIPath(format string, args ...any) string {
diff --git a/test/unit/vlan_test.go b/test/unit/vlan_test.go
index a0ce07032..24e780dfa 100644
--- a/test/unit/vlan_test.go
+++ b/test/unit/vlan_test.go
@@ -5,7 +5,7 @@ import (
"fmt"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"golang.org/x/exp/slices"
)
diff --git a/test/unit/volume_test.go b/test/unit/volume_test.go
index 24d5f5b0a..83aa9f5fa 100644
--- a/test/unit/volume_test.go
+++ b/test/unit/volume_test.go
@@ -5,7 +5,7 @@ import (
"fmt"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
@@ -31,6 +31,7 @@ func TestListVolumes(t *testing.T) {
assert.Equal(t, "us-east", volumes[0].Region, "Expected volume region to match")
assert.Equal(t, 20, volumes[0].Size, "Expected volume size to match")
assert.Equal(t, "test", volumes[0].Tags[0], "Expected volume tag to match")
+ assert.Equal(t, []linodego.LockType{linodego.LockTypeCannotDelete}, volumes[0].Locks, "Expected volume locks to match")
}
func TestGetVolume(t *testing.T) {
@@ -59,6 +60,7 @@ func TestGetVolume(t *testing.T) {
assert.Empty(t, volume.HardwareType, "Expected hardware type to be empty")
assert.Empty(t, volume.LinodeLabel, "Expected Linode label to be empty")
assert.True(t, volume.IOReady, "Expected IO Ready true")
+ assert.Equal(t, []linodego.LockType{linodego.LockTypeCannotDeleteWithSubresources}, volume.Locks, "Expected volume locks to match")
}
func TestCreateVolume(t *testing.T) {
@@ -103,7 +105,7 @@ func TestUpdateVolume(t *testing.T) {
opts := linodego.VolumeUpdateOptions{
Label: "updated-volume",
- Tags: &[]string{"updated"},
+ Tags: []string{"updated"},
}
updatedVolume, err := base.Client.UpdateVolume(context.Background(), volumeID, opts)
@@ -175,6 +177,8 @@ func TestResizeVolume(t *testing.T) {
volumeID := 123
base.MockPost(fmt.Sprintf("volumes/%d/resize", volumeID), nil)
- err := base.Client.ResizeVolume(context.Background(), volumeID, 50)
+ opts := linodego.VolumeResizeOptions{Size: 50}
+
+ err := base.Client.ResizeVolume(context.Background(), volumeID, opts)
assert.NoError(t, err, "Expected no error when resizing volume")
}
diff --git a/test/unit/volume_types_test.go b/test/unit/volume_types_test.go
index da2b88b1c..ac94c9aca 100644
--- a/test/unit/volume_types_test.go
+++ b/test/unit/volume_types_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/vpc_ips_test.go b/test/unit/vpc_ips_test.go
index e0029083a..ea17df0c8 100644
--- a/test/unit/vpc_ips_test.go
+++ b/test/unit/vpc_ips_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/vpc_subnets_test.go b/test/unit/vpc_subnets_test.go
index 1b9ce7873..8d7b9471c 100644
--- a/test/unit/vpc_subnets_test.go
+++ b/test/unit/vpc_subnets_test.go
@@ -4,7 +4,7 @@ import (
"context"
"testing"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/test/unit/vpc_test.go b/test/unit/vpc_test.go
index cff761979..701a2bf38 100644
--- a/test/unit/vpc_test.go
+++ b/test/unit/vpc_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"time"
- "github.com/linode/linodego"
+ "github.com/linode/linodego/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
diff --git a/test/unit/waitfor_test.go b/test/unit/waitfor_test.go
new file mode 100644
index 000000000..93218a43e
--- /dev/null
+++ b/test/unit/waitfor_test.go
@@ -0,0 +1,144 @@
+package unit
+
+import (
+ "context"
+ "net/http"
+ "regexp"
+ "testing"
+ "time"
+
+ "github.com/jarcoal/httpmock"
+ "github.com/linode/linodego/v2"
+)
+
+func TestWaitForInstanceStatusUsesContextDeadline(t *testing.T) {
+ client := createMockClient(t)
+ client.SetPollDelay(time.Millisecond)
+
+ httpmock.RegisterRegexpResponder("GET", mockRequestURL(t, "linode/instances/123"),
+ func(_ *http.Request) (*http.Response, error) {
+ return httpmock.NewJsonResponse(http.StatusOK, linodego.Instance{ID: 123, Status: linodego.InstanceProvisioning})
+ })
+
+ _, err := client.WaitForInstanceStatus(waitTestContext(t, 5*time.Millisecond), 123, linodego.InstanceRunning)
+ if err == nil {
+ t.Fatal("expected deadline error")
+ }
+}
+
+func TestWaitForVolumeStatusSuccess(t *testing.T) {
+ client := createMockClient(t)
+ client.SetPollDelay(time.Millisecond)
+
+ step := 0
+ httpmock.RegisterRegexpResponder("GET", mockRequestURL(t, "volumes/123"),
+ func(_ *http.Request) (*http.Response, error) {
+ step++
+
+ status := linodego.VolumeCreating
+ if step == 2 {
+ status = linodego.VolumeActive
+ }
+
+ return httpmock.NewJsonResponse(http.StatusOK, linodego.Volume{ID: 123, Status: status})
+ })
+
+ volume, err := client.WaitForVolumeStatus(waitTestContext(t, time.Second), 123, linodego.VolumeActive)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if volume.Status != linodego.VolumeActive {
+ t.Fatalf("expected volume to be active, got %s", volume.Status)
+ }
+
+ if step != 2 {
+ t.Fatalf("expected 2 polls, got %d", step)
+ }
+}
+
+func TestWaitForVolumeLinodeIDNil(t *testing.T) {
+ client := createMockClient(t)
+ client.SetPollDelay(time.Millisecond)
+
+ httpmock.RegisterRegexpResponder("GET", mockRequestURL(t, "volumes/123"),
+ func(_ *http.Request) (*http.Response, error) {
+ return httpmock.NewJsonResponse(http.StatusOK, linodego.Volume{ID: 123, LinodeID: nil})
+ })
+
+ volume, err := client.WaitForVolumeLinodeID(waitTestContext(t, time.Second), 123, nil)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if volume.LinodeID != nil {
+ t.Fatalf("expected nil LinodeID, got %v", volume.LinodeID)
+ }
+}
+
+func TestEventPollerWaitForFinished(t *testing.T) {
+ client := createMockClient(t)
+ client.SetPollDelay(time.Millisecond)
+
+ listEventsCount := 0
+ httpmock.RegisterRegexpResponder("GET", regexp.MustCompile(`/[a-zA-Z0-9]+/account/events(\?.*)?$`),
+ func(_ *http.Request) (*http.Response, error) {
+ listEventsCount++
+
+ events := []linodego.Event{{
+ ID: 111,
+ Status: linodego.EventFinished,
+ Action: linodego.ActionLinodeBoot,
+ Entity: &linodego.EventEntity{ID: 123, Type: linodego.EntityLinode},
+ }}
+
+ if listEventsCount > 1 {
+ events = append(events, linodego.Event{
+ ID: 456,
+ Status: linodego.EventStarted,
+ Action: linodego.ActionLinodeBoot,
+ Entity: &linodego.EventEntity{ID: 123, Type: linodego.EntityLinode},
+ })
+ }
+
+ return httpmock.NewJsonResponse(http.StatusOK, map[string]any{
+ "data": events,
+ "page": 1,
+ "pages": 1,
+ "results": len(events),
+ })
+ })
+
+ poller, err := client.NewEventPoller(
+ context.Background(),
+ 123,
+ linodego.EntityLinode,
+ linodego.ActionLinodeBoot,
+ )
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ httpmock.RegisterRegexpResponder("GET", regexp.MustCompile(`/[a-zA-Z0-9]+/account/events/456$`),
+ func(_ *http.Request) (*http.Response, error) {
+ return httpmock.NewJsonResponse(http.StatusOK, linodego.Event{ID: 456, Status: linodego.EventFinished})
+ })
+
+ event, err := poller.WaitForFinished(waitTestContext(t, time.Second))
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if event.Status != linodego.EventFinished {
+ t.Fatalf("expected event to be finished, got %s", event.Status)
+ }
+}
+
+func waitTestContext(t *testing.T, timeout time.Duration) context.Context {
+ t.Helper()
+
+ ctx, cancel := context.WithTimeout(context.Background(), timeout)
+ t.Cleanup(cancel)
+
+ return ctx
+}
diff --git a/version.go b/version.go
index 3f9a023e1..aaa73e5d7 100644
--- a/version.go
+++ b/version.go
@@ -5,7 +5,7 @@ import (
"runtime/debug"
)
-const packagePath = "github.com/linode/linodego"
+const packagePath = "github.com/linode/linodego/v2"
var (
Version = "dev"
diff --git a/vlans.go b/vlans.go
index 9d618f027..1b2955c43 100644
--- a/vlans.go
+++ b/vlans.go
@@ -6,7 +6,7 @@ import (
"fmt"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
type VLAN struct {
diff --git a/volumes.go b/volumes.go
index 2fc8fc802..51a3ce055 100644
--- a/volumes.go
+++ b/volumes.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// VolumeStatus indicates the status of the Volume
@@ -41,33 +41,44 @@ type Volume struct {
Created *time.Time `json:"-"`
Updated *time.Time `json:"-"`
Encryption string `json:"encryption"`
+
+ // NOTE: Locks can only be used with v4beta.
+ Locks []LockType `json:"locks"`
}
// VolumeCreateOptions fields are those accepted by CreateVolume
type VolumeCreateOptions struct {
- Label string `json:"label,omitempty"`
- Region string `json:"region,omitempty"`
- LinodeID int `json:"linode_id,omitempty"`
- ConfigID int `json:"config_id,omitempty"`
+ Label string `json:"label,omitzero"`
+ Region string `json:"region,omitzero"`
+ LinodeID int `json:"linode_id,omitzero"`
+ ConfigID int `json:"config_id,omitzero"`
// The Volume's size, in GiB. Minimum size is 10GiB, maximum size is 10240GiB. A "0" value will result in the default size.
- Size int `json:"size,omitempty"`
+ Size int `json:"size,omitzero"`
// An array of tags applied to this object. Tags are for organizational purposes only.
Tags []string `json:"tags"`
- PersistAcrossBoots *bool `json:"persist_across_boots,omitempty"`
- Encryption string `json:"encryption,omitempty"`
+ PersistAcrossBoots *bool `json:"persist_across_boots,omitzero"`
+ Encryption string `json:"encryption,omitzero"`
}
// VolumeUpdateOptions fields are those accepted by UpdateVolume
type VolumeUpdateOptions struct {
- Label string `json:"label,omitempty"`
- Tags *[]string `json:"tags,omitempty"`
+ Label string `json:"label,omitzero"`
+ Tags []string `json:"tags,omitzero"`
+}
+
+type VolumeCloneOptions struct {
+ Label string `json:"label"`
+}
+
+type VolumeResizeOptions struct {
+ Size int `json:"size"`
}
// VolumeAttachOptions fields are those accepted by AttachVolume
type VolumeAttachOptions struct {
LinodeID int `json:"linode_id"`
- ConfigID int `json:"config_id,omitempty"`
- PersistAcrossBoots *bool `json:"persist_across_boots,omitempty"`
+ ConfigID int `json:"config_id,omitzero"`
+ PersistAcrossBoots *bool `json:"persist_across_boots,omitzero"`
}
// UnmarshalJSON implements the json.Unmarshaler interface
@@ -96,7 +107,7 @@ func (v *Volume) UnmarshalJSON(b []byte) error {
// GetUpdateOptions converts a Volume to VolumeUpdateOptions for use in UpdateVolume
func (v Volume) GetUpdateOptions() (updateOpts VolumeUpdateOptions) {
updateOpts.Label = v.Label
- updateOpts.Tags = &v.Tags
+ updateOpts.Tags = v.Tags
return updateOpts
}
@@ -144,11 +155,7 @@ func (c *Client) UpdateVolume(ctx context.Context, volumeID int, opts VolumeUpda
}
// CloneVolume clones a Linode volume
-func (c *Client) CloneVolume(ctx context.Context, volumeID int, label string) (*Volume, error) {
- opts := map[string]any{
- "label": label,
- }
-
+func (c *Client) CloneVolume(ctx context.Context, volumeID int, opts VolumeCloneOptions) (*Volume, error) {
e := formatAPIPath("volumes/%d/clone", volumeID)
return doPOSTRequest[Volume](ctx, c, e, opts)
@@ -161,11 +168,7 @@ func (c *Client) DetachVolume(ctx context.Context, volumeID int) error {
}
// ResizeVolume resizes an instance to new Linode type
-func (c *Client) ResizeVolume(ctx context.Context, volumeID int, size int) error {
- opts := map[string]int{
- "size": size,
- }
-
+func (c *Client) ResizeVolume(ctx context.Context, volumeID int, opts VolumeResizeOptions) error {
e := formatAPIPath("volumes/%d/resize", volumeID)
return doPOSTRequestNoResponseBody(ctx, c, e, opts)
diff --git a/vpc.go b/vpc.go
index 716945a24..1a2a221c6 100644
--- a/vpc.go
+++ b/vpc.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// VPCType represents the type of a VPC.
@@ -45,7 +45,7 @@ type VPCIPv6Range struct {
type VPCCreateOptions struct {
Label string `json:"label"`
- Description string `json:"description,omitempty"`
+ Description string `json:"description,omitzero"`
Region string `json:"region"`
// This field is omitted by the API for customers that do not have
@@ -54,22 +54,22 @@ type VPCCreateOptions struct {
VPCType VPCType `json:"vpc_type,omitzero"`
// NOTE: IPv6 VPCs may not currently be available to all users.
- IPv6 []VPCCreateOptionsIPv6 `json:"ipv6,omitempty"`
+ IPv6 []VPCCreateOptionsIPv6 `json:"ipv6,omitzero"`
- Subnets []VPCSubnetCreateOptions `json:"subnets,omitempty"`
+ Subnets []VPCSubnetCreateOptions `json:"subnets,omitzero"`
}
// VPCCreateOptionsIPv6 represents a single IPv6 range assigned to a VPC
// which is specified during a VPC's creation.
// NOTE: IPv6 VPCs may not currently be available to all users.
type VPCCreateOptionsIPv6 struct {
- Range *string `json:"range,omitempty"`
- AllocationClass *string `json:"allocation_class,omitempty"`
+ Range *string `json:"range,omitzero"`
+ AllocationClass *string `json:"allocation_class,omitzero"`
}
type VPCUpdateOptions struct {
- Label string `json:"label,omitempty"`
- Description string `json:"description,omitempty"`
+ Label string `json:"label,omitzero"`
+ Description string `json:"description,omitzero"`
}
func (v VPC) GetCreateOptions() VPCCreateOptions {
diff --git a/vpc_subnet.go b/vpc_subnet.go
index 323c29ebf..9b6ff7300 100644
--- a/vpc_subnet.go
+++ b/vpc_subnet.go
@@ -5,7 +5,7 @@ import (
"encoding/json"
"time"
- "github.com/linode/linodego/internal/parseabletime"
+ "github.com/linode/linodego/v2/internal/parseabletime"
)
// VPCSubnetLinodeInterface represents an interface on a Linode that is currently
@@ -65,14 +65,14 @@ type VPCSubnetCreateOptions struct {
IPv4 string `json:"ipv4"`
// NOTE: IPv6 VPCs may not currently be available to all users.
- IPv6 []VPCSubnetCreateOptionsIPv6 `json:"ipv6,omitempty"`
+ IPv6 []VPCSubnetCreateOptionsIPv6 `json:"ipv6,omitzero"`
}
// VPCSubnetCreateOptionsIPv6 represents a single IPv6 range assigned to a VPC
// which is specified during a VPC subnet's creation.
// NOTE: IPv6 VPCs may not currently be available to all users.
type VPCSubnetCreateOptionsIPv6 struct {
- Range *string `json:"range,omitempty"`
+ Range *string `json:"range,omitzero"`
}
type VPCSubnetUpdateOptions struct {
diff --git a/waitfor.go b/waitfor.go
index d40d47e1c..9a5d9a97f 100644
--- a/waitfor.go
+++ b/waitfor.go
@@ -15,6 +15,7 @@ import (
var englishTitle = cases.Title(language.English)
+// EventPoller waits for events associated with a given entity and action.
type EventPoller struct {
EntityID any
EntityType EntityType
@@ -30,189 +31,137 @@ type EventPoller struct {
}
// WaitForInstanceStatus waits for the Linode instance to reach the desired state
-// before returning. It will timeout with an error after timeoutSeconds.
-func (client Client) WaitForInstanceStatus(ctx context.Context, instanceID int, status InstanceStatus, timeoutSeconds int) (*Instance, error) {
- ctx, cancel := context.WithTimeout(ctx, time.Duration(timeoutSeconds)*time.Second)
- defer cancel()
-
- ticker := time.NewTicker(client.pollInterval)
- defer ticker.Stop()
-
- for {
- select {
- case <-ticker.C:
+// before returning.
+func (client Client) WaitForInstanceStatus(ctx context.Context, instanceID int, status InstanceStatus) (*Instance, error) {
+ return poll(ctx, &client,
+ func(ctx context.Context) (*Instance, bool, error) {
instance, err := client.GetInstance(ctx, instanceID)
if err != nil {
- return instance, err
+ return instance, false, err
}
- complete := (instance.Status == status)
-
- if complete {
- return instance, nil
- }
- case <-ctx.Done():
- return nil, fmt.Errorf("Error waiting for Instance %d status %s: %w", instanceID, status, ctx.Err())
- }
- }
+ return instance, instance.Status == status, nil
+ },
+ func() error {
+ return fmt.Errorf("Error waiting for Instance %d status %s: %w", instanceID, status, ctx.Err())
+ },
+ )
}
// WaitForInstanceDiskStatus waits for the Linode instance disk to reach the desired state
-// before returning. It will timeout with an error after timeoutSeconds.
-func (client Client) WaitForInstanceDiskStatus(ctx context.Context, instanceID int, diskID int, status DiskStatus, timeoutSeconds int) (*InstanceDisk, error) {
- ctx, cancel := context.WithTimeout(ctx, time.Duration(timeoutSeconds)*time.Second)
- defer cancel()
-
- ticker := time.NewTicker(client.pollInterval)
- defer ticker.Stop()
-
- for {
- select {
- case <-ticker.C:
- // GetInstanceDisk will 404 on newly created disks. use List instead.
- // disk, err := client.GetInstanceDisk(ctx, instanceID, diskID)
+// before returning.
+func (client Client) WaitForInstanceDiskStatus(ctx context.Context, instanceID int, diskID int, status DiskStatus) (*InstanceDisk, error) {
+ return poll(ctx, &client,
+ func(ctx context.Context) (*InstanceDisk, bool, error) {
+ // GetInstanceDisk will 404 on newly created disks. Use List instead.
disks, err := client.ListInstanceDisks(ctx, instanceID, nil)
if err != nil {
- return nil, err
+ return nil, false, err
}
for _, disk := range disks {
if disk.ID == diskID {
- complete := (disk.Status == status)
- if complete {
- return &disk, nil
+ if disk.Status == status {
+ return &disk, true, nil
}
break
}
}
- case <-ctx.Done():
- return nil, fmt.Errorf("Error waiting for Instance %d Disk %d status %s: %w", instanceID, diskID, status, ctx.Err())
- }
- }
+
+ return nil, false, nil
+ },
+ func() error {
+ return fmt.Errorf("Error waiting for Instance %d Disk %d status %s: %w", instanceID, diskID, status, ctx.Err())
+ },
+ )
}
// WaitForVolumeStatus waits for the Volume to reach the desired state
-// before returning. It will timeout with an error after timeoutSeconds.
-func (client Client) WaitForVolumeStatus(ctx context.Context, volumeID int, status VolumeStatus, timeoutSeconds int) (*Volume, error) {
- ctx, cancel := context.WithTimeout(ctx, time.Duration(timeoutSeconds)*time.Second)
- defer cancel()
-
- ticker := time.NewTicker(client.pollInterval)
- defer ticker.Stop()
-
- for {
- select {
- case <-ticker.C:
+// before returning.
+func (client Client) WaitForVolumeStatus(ctx context.Context, volumeID int, status VolumeStatus) (*Volume, error) {
+ return poll(ctx, &client,
+ func(ctx context.Context) (*Volume, bool, error) {
volume, err := client.GetVolume(ctx, volumeID)
if err != nil {
- return volume, err
+ return volume, false, err
}
- complete := (volume.Status == status)
-
- if complete {
- return volume, nil
- }
- case <-ctx.Done():
- return nil, fmt.Errorf("Error waiting for Volume %d status %s: %w", volumeID, status, ctx.Err())
- }
- }
+ return volume, volume.Status == status, nil
+ },
+ func() error {
+ return fmt.Errorf("Error waiting for Volume %d status %s: %w", volumeID, status, ctx.Err())
+ },
+ )
}
// WaitForSnapshotStatus waits for the Snapshot to reach the desired state
-// before returning. It will timeout with an error after timeoutSeconds.
+// before returning.
func (client Client) WaitForSnapshotStatus(
ctx context.Context,
instanceID int,
snapshotID int,
status InstanceSnapshotStatus,
- timeoutSeconds int,
) (*InstanceSnapshot, error) {
- ctx, cancel := context.WithTimeout(ctx, time.Duration(timeoutSeconds)*time.Second)
- defer cancel()
-
- ticker := time.NewTicker(client.pollInterval)
- defer ticker.Stop()
-
- for {
- select {
- case <-ticker.C:
+ return poll(ctx, &client,
+ func(ctx context.Context) (*InstanceSnapshot, bool, error) {
snapshot, err := client.GetInstanceSnapshot(ctx, instanceID, snapshotID)
if err != nil {
- return snapshot, err
+ return snapshot, false, err
}
- complete := (snapshot.Status == status)
-
- if complete {
- return snapshot, nil
- }
- case <-ctx.Done():
- return nil, fmt.Errorf("Error waiting for Instance %d Snapshot %d status %s: %w", instanceID, snapshotID, status, ctx.Err())
- }
- }
+ return snapshot, snapshot.Status == status, nil
+ },
+ func() error {
+ return fmt.Errorf("Error waiting for Instance %d Snapshot %d status %s: %w", instanceID, snapshotID, status, ctx.Err())
+ },
+ )
}
// WaitForVolumeLinodeID waits for the Volume to match the desired LinodeID
// before returning. An active Instance will not immediately attach or detach a volume, so
// the LinodeID must be polled to determine volume readiness from the API.
-// WaitForVolumeLinodeID will timeout with an error after timeoutSeconds.
-func (client Client) WaitForVolumeLinodeID(ctx context.Context, volumeID int, linodeID *int, timeoutSeconds int) (*Volume, error) {
- ctx, cancel := context.WithTimeout(ctx, time.Duration(timeoutSeconds)*time.Second)
- defer cancel()
-
- ticker := time.NewTicker(client.pollInterval)
- defer ticker.Stop()
-
- for {
- select {
- case <-ticker.C:
+func (client Client) WaitForVolumeLinodeID(ctx context.Context, volumeID int, linodeID *int) (*Volume, error) {
+ return poll(ctx, &client,
+ func(ctx context.Context) (*Volume, bool, error) {
volume, err := client.GetVolume(ctx, volumeID)
if err != nil {
- return volume, err
+ return volume, false, err
}
switch {
case linodeID == nil && volume.LinodeID == nil:
- return volume, nil
+ return volume, true, nil
case linodeID == nil || volume.LinodeID == nil:
- // continue waiting
+ // Continue waiting.
case *volume.LinodeID == *linodeID:
- return volume, nil
+ return volume, true, nil
}
- case <-ctx.Done():
- return nil, fmt.Errorf("Error waiting for Volume %d to have Instance %v: %w", volumeID, linodeID, ctx.Err())
- }
- }
+
+ return volume, false, nil
+ },
+ func() error {
+ return fmt.Errorf("Error waiting for Volume %d to have Instance %v: %w", volumeID, linodeID, ctx.Err())
+ },
+ )
}
// WaitForLKEClusterStatus waits for the LKECluster to reach the desired state
-// before returning. It will timeout with an error after timeoutSeconds.
-func (client Client) WaitForLKEClusterStatus(ctx context.Context, clusterID int, status LKEClusterStatus, timeoutSeconds int) (*LKECluster, error) {
- ctx, cancel := context.WithTimeout(ctx, time.Duration(timeoutSeconds)*time.Second)
- defer cancel()
-
- ticker := time.NewTicker(client.pollInterval)
- defer ticker.Stop()
-
- for {
- select {
- case <-ticker.C:
+// before returning.
+func (client Client) WaitForLKEClusterStatus(ctx context.Context, clusterID int, status LKEClusterStatus) (*LKECluster, error) {
+ return poll(ctx, &client,
+ func(ctx context.Context) (*LKECluster, bool, error) {
cluster, err := client.GetLKECluster(ctx, clusterID)
if err != nil {
- return cluster, err
+ return cluster, false, err
}
- complete := (cluster.Status == status)
-
- if complete {
- return cluster, nil
- }
- case <-ctx.Done():
- return nil, fmt.Errorf("Error waiting for Cluster %d status %s: %w", clusterID, status, ctx.Err())
- }
- }
+ return cluster, cluster.Status == status, nil
+ },
+ func() error {
+ return fmt.Errorf("Error waiting for Cluster %d status %s: %w", clusterID, status, ctx.Err())
+ },
+ )
}
// LKEClusterPollOptions configures polls against LKE Clusters.
@@ -220,15 +169,12 @@ type LKEClusterPollOptions struct {
// Retry will cause the Poll to ignore interimittent errors
Retry bool
- // TimeoutSeconds is the number of Seconds to wait for the poll to succeed
- // before exiting.
- TimeoutSeconds int
-
// TansportWrapper allows adding a transport middleware function that will
// wrap the LKE Cluster client's underlying http.RoundTripper.
TransportWrapper func(http.RoundTripper) http.RoundTripper
}
+// ClusterConditionOptions configures LKE cluster condition checks.
type ClusterConditionOptions struct {
LKEClusterKubeconfig *LKEClusterKubeconfig
TransportWrapper func(http.RoundTripper) http.RoundTripper
@@ -245,18 +191,12 @@ func (client Client) WaitForLKEClusterConditions(
options LKEClusterPollOptions,
conditions ...ClusterConditionFunc,
) error {
- ctx, cancel := context.WithCancel(ctx)
- if options.TimeoutSeconds != 0 {
- ctx, cancel = context.WithTimeout(ctx, time.Duration(options.TimeoutSeconds)*time.Second)
- }
- defer cancel()
-
lkeKubeConfig, err := client.GetLKEClusterKubeconfig(ctx, clusterID)
if err != nil {
return fmt.Errorf("failed to get Kubeconfig for LKE cluster %d: %w", clusterID, err)
}
- ticker := time.NewTicker(client.pollInterval)
+ ticker := newTicker(&client)
defer ticker.Stop()
conditionOptions := ClusterConditionOptions{LKEClusterKubeconfig: lkeKubeConfig, TransportWrapper: options.TransportWrapper}
@@ -289,7 +229,7 @@ func (client Client) WaitForLKEClusterConditions(
}
// WaitForEventFinished waits for an entity action to reach the 'finished' state
-// before returning. It will timeout with an error after timeoutSeconds.
+// before returning.
// If the event indicates a failure both the failed event and the error will be returned.
// nolint
func (client Client) WaitForEventFinished(
@@ -298,7 +238,6 @@ func (client Client) WaitForEventFinished(
entityType EntityType,
action EventAction,
minStart time.Time,
- timeoutSeconds int,
) (*Event, error) {
titledEntityType := englishTitle.String(string(entityType))
filter := Filter{
@@ -326,15 +265,11 @@ func (client Client) WaitForEventFinished(
filter.AddField(Eq, "entity.type", entityType)
}
- ctx, cancel := context.WithTimeout(ctx, time.Duration(timeoutSeconds)*time.Second)
- defer cancel()
-
if deadline, ok := ctx.Deadline(); ok {
- duration := time.Until(deadline)
- log.Printf("[INFO] Waiting %d seconds for %s events since %v for %s %v", int(duration.Seconds()), action, minStart, titledEntityType, id)
+ log.Printf("[INFO] Waiting %d seconds for %s events since %v for %s %v", int(time.Until(deadline).Seconds()), action, minStart, titledEntityType, id)
}
- ticker := time.NewTicker(client.pollInterval)
+ ticker := newTicker(&client)
// avoid repeating log messages
nextLog := ""
@@ -363,8 +298,6 @@ func (client Client) WaitForEventFinished(
// If there are events for this instance + action, inspect them
for _, event := range events {
- event := event
-
if event.Entity == nil || event.Entity.Type != entityType {
// log.Println("type mismatch", event.Entity.Type, entityType)
continue
@@ -382,6 +315,7 @@ func (client Client) WaitForEventFinished(
}
var findID string
+
switch id := id.(type) {
case float64, float32:
findID = fmt.Sprintf("%.f", id)
@@ -428,45 +362,31 @@ func (client Client) WaitForEventFinished(
}
// WaitForImageStatus waits for the Image to reach the desired state
-// before returning. It will timeout with an error after timeoutSeconds.
-func (client Client) WaitForImageStatus(ctx context.Context, imageID string, status ImageStatus, timeoutSeconds int) (*Image, error) {
- ctx, cancel := context.WithTimeout(ctx, time.Duration(timeoutSeconds)*time.Second)
- defer cancel()
-
- ticker := time.NewTicker(client.pollInterval)
- defer ticker.Stop()
-
- for {
- select {
- case <-ticker.C:
+// before returning.
+func (client Client) WaitForImageStatus(ctx context.Context, imageID string, status ImageStatus) (*Image, error) {
+ return poll(ctx, &client,
+ func(ctx context.Context) (*Image, bool, error) {
image, err := client.GetImage(ctx, imageID)
if err != nil {
- return image, err
+ return image, false, err
}
- complete := image.Status == status
-
- if complete {
- return image, nil
- }
- case <-ctx.Done():
- return nil, fmt.Errorf("failed to wait for Image %s status %s: %w", imageID, status, ctx.Err())
- }
- }
+ return image, image.Status == status, nil
+ },
+ func() error {
+ return fmt.Errorf("failed to wait for Image %s status %s: %w", imageID, status, ctx.Err())
+ },
+ )
}
// WaitForImageRegionStatus waits for an Image's replica to reach the desired state
// before returning.
func (client Client) WaitForImageRegionStatus(ctx context.Context, imageID, region string, status ImageRegionStatus) (*Image, error) {
- ticker := time.NewTicker(client.pollInterval)
- defer ticker.Stop()
-
- for {
- select {
- case <-ticker.C:
+ return poll(ctx, &client,
+ func(ctx context.Context) (*Image, bool, error) {
image, err := client.GetImage(ctx, imageID)
if err != nil {
- return image, err
+ return image, false, err
}
replicaIdx := slices.IndexFunc(
@@ -476,17 +396,16 @@ func (client Client) WaitForImageRegionStatus(ctx context.Context, imageID, regi
},
)
- // If no replica was found or the status doesn't match, try again
if replicaIdx < 0 || image.Regions[replicaIdx].Status != status {
- continue
+ return image, false, nil
}
- return image, nil
-
- case <-ctx.Done():
- return nil, fmt.Errorf("failed to wait for Image %s status %s: %w", imageID, status, ctx.Err())
- }
- }
+ return image, true, nil
+ },
+ func() error {
+ return fmt.Errorf("failed to wait for Image %s status %s: %w", imageID, status, ctx.Err())
+ },
+ )
}
type databaseStatusFunc func(ctx context.Context, client Client, dbID int) (DatabaseStatus, error)
@@ -512,34 +431,28 @@ var databaseStatusHandlers = map[DatabaseEngineType]databaseStatusFunc{
// WaitForDatabaseStatus waits for the provided database to have the given status.
func (client Client) WaitForDatabaseStatus(
- ctx context.Context, dbID int, dbEngine DatabaseEngineType, status DatabaseStatus, timeoutSeconds int,
+ ctx context.Context, dbID int, dbEngine DatabaseEngineType, status DatabaseStatus,
) error {
- ctx, cancel := context.WithTimeout(ctx, time.Duration(timeoutSeconds)*time.Second)
- defer cancel()
-
- ticker := time.NewTicker(client.pollInterval)
- defer ticker.Stop()
-
- for {
- select {
- case <-ticker.C:
+ _, err := poll(ctx, &client,
+ func(ctx context.Context) (struct{}, bool, error) {
statusHandler, ok := databaseStatusHandlers[dbEngine]
if !ok {
- return fmt.Errorf("invalid db engine: %s", dbEngine)
+ return struct{}{}, false, fmt.Errorf("invalid db engine: %s", dbEngine)
}
currentStatus, err := statusHandler(ctx, client, dbID)
if err != nil {
- return fmt.Errorf("failed to get db status: %w", err)
+ return struct{}{}, false, fmt.Errorf("failed to get db status: %w", err)
}
- if currentStatus == status {
- return nil
- }
- case <-ctx.Done():
+ return struct{}{}, currentStatus == status, nil
+ },
+ func() error {
return fmt.Errorf("failed to wait for database %d status: %w", dbID, ctx.Err())
- }
- }
+ },
+ )
+
+ return err
}
// NewEventPoller initializes a new Linode event poller. This should be run before the event is triggered as it stores
@@ -555,7 +468,7 @@ func (client Client) NewEventPoller(
client: client,
}
- if err := result.PreTask(ctx); err != nil {
+ if err := result.preTask(ctx); err != nil {
return nil, fmt.Errorf("failed to run pretask: %w", err)
}
@@ -597,42 +510,9 @@ func (client Client) NewEventPollerWithoutEntity(entityType EntityType, action E
return &result, nil
}
-// PreTask stores all current events for the given entity to prevent them from being
-// processed on subsequent runs.
-func (p *EventPoller) PreTask(ctx context.Context) error {
- f := Filter{
- OrderBy: "created",
- Order: Descending,
- }
- f.AddField(Eq, "entity.type", p.EntityType)
- f.AddField(Eq, "entity.id", p.EntityID)
- f.AddField(Eq, "action", p.Action)
-
- fBytes, err := f.MarshalJSON()
- if err != nil {
- return err
- }
-
- events, err := p.client.ListEvents(ctx, &ListOptions{
- Filter: string(fBytes),
- PageOptions: &PageOptions{Page: 1},
- })
- if err != nil {
- return fmt.Errorf("failed to list events: %w", err)
- }
-
- eventIDs := make(map[int]bool, len(events))
- for _, event := range events {
- eventIDs[event.ID] = true
- }
-
- p.previousEvents = eventIDs
-
- return nil
-}
-
+// WaitForLatestUnknownEvent waits for the next event not observed by this poller.
func (p *EventPoller) WaitForLatestUnknownEvent(ctx context.Context) (*Event, error) {
- ticker := time.NewTicker(p.client.pollInterval)
+ ticker := newTicker(&p.client)
defer ticker.Stop()
f := Filter{
@@ -681,13 +561,8 @@ func (p *EventPoller) WaitForLatestUnknownEvent(ctx context.Context) (*Event, er
}
// WaitForFinished waits for a new event to be finished.
-func (p *EventPoller) WaitForFinished(
- ctx context.Context, timeoutSeconds int,
-) (*Event, error) {
- ctx, cancel := context.WithTimeout(ctx, time.Duration(timeoutSeconds)*time.Second)
- defer cancel()
-
- ticker := time.NewTicker(p.client.pollInterval)
+func (p *EventPoller) WaitForFinished(ctx context.Context) (*Event, error) {
+ ticker := newTicker(&p.client)
defer ticker.Stop()
event, err := p.WaitForLatestUnknownEvent(ctx)
@@ -719,7 +594,7 @@ func (p *EventPoller) WaitForFinished(
// WaitForResourceFree waits for a resource to have no running events.
func (client Client) WaitForResourceFree(
- ctx context.Context, entityType EntityType, entityID any, timeoutSeconds int,
+ ctx context.Context, entityType EntityType, entityID any,
) error {
apiFilter := Filter{
Order: Descending,
@@ -733,10 +608,7 @@ func (client Client) WaitForResourceFree(
return fmt.Errorf("failed to create filter: %s", err)
}
- ctx, cancel := context.WithTimeout(ctx, time.Duration(timeoutSeconds)*time.Second)
- defer cancel()
-
- ticker := time.NewTicker(client.pollInterval)
+ ticker := newTicker(&client)
defer ticker.Stop()
// A helper function to determine whether a resource is busy
@@ -796,29 +668,20 @@ func (client Client) WaitForAlertDefinitionStatus(
status AlertDefinitionStatus,
serviceType string,
alertID int,
- timeoutSeconds int,
) (*AlertDefinition, error) {
- ctx, cancel := context.WithTimeout(ctx, time.Duration(timeoutSeconds)*time.Second)
- defer cancel()
-
- ticker := time.NewTicker(client.pollInterval)
- defer ticker.Stop()
-
- for {
- select {
- case <-ticker.C:
+ return poll(ctx, &client,
+ func(ctx context.Context) (*AlertDefinition, bool, error) {
alertDef, err := client.GetMonitorAlertDefinition(ctx, serviceType, alertID)
if err != nil {
- return alertDef, err
+ return alertDef, false, err
}
- if alertDef.Status == status {
- return alertDef, nil
- }
- case <-ctx.Done():
- return nil, fmt.Errorf("failed to wait for AlertDefinition %d status %s: %w", alertID, status, ctx.Err())
- }
- }
+ return alertDef, alertDef.Status == status, nil
+ },
+ func() error {
+ return fmt.Errorf("failed to wait for AlertDefinition %d status %s: %w", alertID, status, ctx.Err())
+ },
+ )
}
// WaitForVolumeIOReadyStatus waits for the io_ready status to verify whether the volume is
@@ -827,28 +690,86 @@ func (client Client) WaitForVolumeIOReadyStatus(
ctx context.Context,
volumeID int,
status bool,
- timeoutSeconds int,
) (*Volume, error) {
- ctx, cancel := context.WithTimeout(ctx, time.Duration(timeoutSeconds)*time.Second)
- defer cancel()
+ return poll(ctx, &client,
+ func(ctx context.Context) (*Volume, bool, error) {
+ volume, err := client.GetVolume(ctx, volumeID)
+ if err != nil {
+ return volume, false, fmt.Errorf("failed to get volume: %w", err)
+ }
- ticker := time.NewTicker(client.pollInterval)
+ return volume, volume.IOReady == status, nil
+ },
+ func() error {
+ return fmt.Errorf("failed to wait for Volume %d IO Ready status %t: %w", volumeID, status, ctx.Err())
+ },
+ )
+}
+
+// preTask stores all current events for the given entity to prevent them from being
+// processed on subsequent runs.
+func (p *EventPoller) preTask(ctx context.Context) error {
+ f := Filter{
+ OrderBy: "created",
+ Order: Descending,
+ }
+ f.AddField(Eq, "entity.type", p.EntityType)
+ f.AddField(Eq, "entity.id", p.EntityID)
+ f.AddField(Eq, "action", p.Action)
+
+ fBytes, err := f.MarshalJSON()
+ if err != nil {
+ return err
+ }
+
+ events, err := p.client.ListEvents(ctx, &ListOptions{
+ Filter: string(fBytes),
+ PageOptions: &PageOptions{Page: 1},
+ })
+ if err != nil {
+ return fmt.Errorf("failed to list events: %w", err)
+ }
+
+ eventIDs := make(map[int]bool, len(events))
+ for _, event := range events {
+ eventIDs[event.ID] = true
+ }
+
+ p.previousEvents = eventIDs
+
+ return nil
+}
+
+// poll runs check on each tick until check reports done, returns an error, or ctx is canceled.
+//
+//nolint:ireturn // false positive: returning a generic concrete type, not an interface
+func poll[T any](
+ ctx context.Context,
+ client *Client,
+ check func(context.Context) (T, bool, error),
+ timeoutErr func() error,
+) (T, error) {
+ ticker := newTicker(client)
defer ticker.Stop()
for {
select {
case <-ticker.C:
- volume, err := client.GetVolume(ctx, volumeID)
+ result, done, err := check(ctx)
if err != nil {
- return volume, err
+ return result, err
}
- if volume.IOReady == status {
- return volume, nil
+ if done {
+ return result, nil
}
-
case <-ctx.Done():
- return nil, fmt.Errorf("failed to wait for Volume %d IO Ready status %t: %w", volumeID, status, ctx.Err())
+ var zero T
+ return zero, timeoutErr()
}
}
}
+
+func newTicker(client *Client) *time.Ticker {
+ return time.NewTicker(client.GetPollDelay())
+}